Die Funktion to_excel von Pandas generiert einen unerwarteten TypeError


13

Ich habe ein Wörterbuch mit Pandas-Datenrahmen erstellt:

d[k] = pd.DataFrame(data=data[i])

Ich d[k]gehe also davon aus, dass dies ein korrekter Pandas-Datenrahmen ist.

Dann

for k in d.keys():
  d[k].to_excel (file_name)

Dann habe ich den Fehler:

TypeError: got invalid input value of type <class 'xml.etree.ElementTree.Element'>, expected string or Element

Ich benutze Python 3.7, Pandas 0.25.3.

Update : Wenn ich ersetzen to_exceldurch to_csv, der Code perfekt läuft.


1
was ist file_name? ist es eine Schnur?
Quang Hoang

Ja, so ist es. Nur so etwas wie'/data/myfile.xlsx'
mommomonthewind

Was passiert, wenn Sie es versuchen d[k].to_excel(str(filename))?
Quang Hoang

Gleicher Fehler. Ich glaube nicht, dass das Problem auf dem liegt file_name. Ich habe überprüft und bin mir ziemlich sicher, dass es sich um einen gültigen Dateinamen handelt.
Mommomonthewind

Ich habe den gleichen Fehler mit Openpyxl: 3.0.2 pandas 0.25.3 Python 3.8.1 (tags / v3.8.1: 1b293b6, 18. Dezember 2019, 23:11:46) [MSC v.1916 64-Bit (AMD64)] entfernt openpyxl 3.0.2 und das Upgrade von openpyxl auf 3.0.3 haben das Problem behoben, wie andere berichten. Vielen Dank. Eine Sache, die ich hinzufügen möchte: Der Fehler openpyxl 3.0.2 hat die * .xlsx-Datei, an die sie angehängt wurde, beschädigt und sie für Excel unlesbar und nicht wiederherstellbar gemacht.
user39678

Antworten:


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.