ฉันจะส่งออกรายการ DataFrames ไปยังสเปรดชีต Excel เดียวได้อย่างไร
เอกสารสำหรับto_excel
รัฐ:
หมายเหตุ
หากส่งผ่านวัตถุ ExcelWriter ที่มีอยู่แผ่นงานจะถูกเพิ่มลงในสมุดงานที่มีอยู่ สามารถใช้เพื่อบันทึก DataFrames ต่างๆลงในสมุดงานเดียว
writer = ExcelWriter('output.xlsx')
df1.to_excel(writer, 'sheet1')
df2.to_excel(writer, 'sheet2')
writer.save()
จากนี้ฉันคิดว่าฉันสามารถเขียนฟังก์ชันที่บันทึกรายการ DataFrames ลงในสเปรดชีตเดียวได้ดังนี้:
from openpyxl.writer.excel import ExcelWriter
def save_xls(list_dfs, xls_path):
writer = ExcelWriter(xls_path)
for n, df in enumerate(list_dfs):
df.to_excel(writer,'sheet%s' % n)
writer.save()
อย่างไรก็ตาม (ด้วยรายการ DataFrames ขนาดเล็กสองรายการซึ่งแต่ละรายการสามารถบันทึกto_excel
แยกกันได้) จะมีการเพิ่มข้อยกเว้น(แก้ไข: การย้อนกลับที่ลบออก) :
AttributeError: 'str' object has no attribute 'worksheets'
คงจะโทรไม่ExcelWriter
ถูกต้องทำอย่างไรจึงจะทำเช่นนี้ได้