La funzione to_excel di panda genera un TypeError imprevisto


13

Ho creato un dizionario di dataframe panda:

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

Quindi presumo che d[k]sia un frame di dati panda corretto.

Poi

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

Quindi ho l'errore:

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

Sto usando Python 3.7, Panda 0.25.3.

Aggiornamento : se lo sostituisco to_excelcon to_csv, il codice funziona perfettamente.


1
che cos'è file_name? è una stringa?
Quang Hoang,

Sì. Proprio qualcosa del genere'/data/myfile.xlsx'
mamma del

cosa succede se ci provi d[k].to_excel(str(filename))?
Quang Hoang

Stesso problema. Non penso che il problema risieda nel file_name. Ho controllato e sono abbastanza sicuro che sia un nome file valido.
mommomonthewind

Ho avuto lo stesso errore usando Openpyxl: 3.0.2 panda 0.25.3 Python 3.8.1 (tags / v3.8.1: 1b293b6, 18 dicembre 2019, 23:11:46) [MSC v.1916 64 bit (AMD64)] Rimozione openpyxl 3.0.2 e l'aggiornamento di openpyxl a 3.0.3 risolto il problema, come riportato da altri. Grazie. Una cosa che aggiungerò: il bug openpyxl 3.0.2 ha corrotto il file * .xlsx a cui era stato aggiunto, rendendolo illeggibile e irrecuperabile da Excel.
user39678

Risposte:


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.