A função to_excel dos pandas gera um TypeError inesperado


13

Eu criei um dicionário de dataframe de pandas:

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

Então, eu suponho que esse d[k]é um dataframe de pandas correto.

Então

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

Então eu tenho o erro:

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

Estou usando Python 3.7, pandas 0.25.3.

Atualização : se eu substituir to_excelpor to_csv, o código funcionará perfeitamente.


11
o que é file_name? é uma string?
Quang Hoang

Sim, ele é. Apenas algo como'/data/myfile.xlsx'
mommomonthewind

o que acontece se você tentar d[k].to_excel(str(filename))?
Quang Hoang

Mesmo problema. Eu não acho que o problema esteja no file_name. Eu verifiquei e tenho certeza de que é um nome de arquivo válido.
Mommomonthewind 4/12/19

Eu obtive o mesmo erro usando o Openpyxl: 3.0.2 pandas 0.25.3 Python 3.8.1 (tags / v3.8.1: 1b293b6, 18 de dezembro de 2019, 23:11:46) [MSC v.1916 de 64 bits (AMD64)] O openpyxl 3.0.2 e a atualização do openpyxl para 3.0.3 corrigiram o problema, como outros relatam. Obrigado. Uma coisa que vou acrescentar: o bug do openpyxl 3.0.2 corrompeu o arquivo * .xlsx ao qual estava anexando, tornando-o ilegível e irrecuperável pelo Excel.
user39678

Respostas:


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.