ฟังก์ชัน to_excel ของนุ่นสร้าง TypeError ที่ไม่คาดคิด


13

ฉันสร้างพจนานุกรมของ dataframe นุ่น:

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

ดังนั้นฉันคิดว่านั่นd[k]คือ dataframe แพนด้าที่ถูกต้อง

แล้วก็

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

จากนั้นฉันมีข้อผิดพลาด:

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

ฉันใช้ Python 3.7, pandas 0.25.3

อัปเดต : หากฉันแทนที่to_excelด้วยto_csvรหัสจะทำงานได้อย่างสมบูรณ์


1
คือfile_nameอะไร มันเป็นสตริงหรือไม่?
Quang Hoang

ใช่แล้ว. เพียงอย่างเดียว'/data/myfile.xlsx'
mommomonthewind

เกิดอะไรขึ้นถ้าคุณพยายามd[k].to_excel(str(filename))?
Quang Hoang

ปัญหาเดียวกัน file_nameฉันไม่คิดว่าปัญหาอยู่บน ฉันตรวจสอบแล้วและค่อนข้างแน่ใจว่าเป็นชื่อไฟล์ที่ถูกต้อง
mommomonthewind

ฉันได้รับข้อผิดพลาดเดียวกันโดยใช้ Openpyxl: 3.0.2 pandas 0.25.3 Python 3.8.1 (แท็ก / v3.8.1: 1b293b6, ธ.ค. 18 2019, 23:11:46) [MSC v.1916 64 บิต (AMD64)] การลบ openpyxl 3.0.2 และการอัพเกรด openpyxl เป็น 3.0.3 แก้ไขปัญหาตามที่คนอื่นรายงาน ขอบคุณ. สิ่งหนึ่งที่ฉันจะเพิ่ม: ข้อผิดพลาด openpyxl 3.0.2 เกิดความเสียหายกับไฟล์ * .xlsx ที่ผนวกเข้าด้วยทำให้ Excel ไม่สามารถอ่านได้และไม่สามารถกู้คืนได้
user39678

คำตอบ:


37

ฉันมีปัญหาเดียวกันกับopenpyxl=3.0.2,

อ้างถึงคำตอบนี้ฉันม้วน openpyxl กลับไปที่ 3.0.1 (conda หรือ pip) และใช้งานได้

>>> conda remove openpyxl
>>> conda install openpyxl==3.0.1

หรือ

>>> pip uninstall openpyxl
>>> pip install openpyxl==3.0.1

1
ติดตามได้ที่นี่: bitbucket.org/openpyxl/openpyxl/issues/1396/…
Shaheed Haque

ปัญหานี้ได้รับการแก้ไขใน openpyxl 3.0.3
zeeks
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.