繁体   English   中英

数据丢失,使用熊猫在具有多个工作表的.xlsx文件中更改格式,同时在现有的.xlsx文件中添加新工作表时使用openpyxl

[英]Data missing, format changed in .xlsx file having multiple sheets using pandas, openpyxl while adding new sheet in existing .xlsx file

我有一个Final.xlsx ,其中包含多个工作表shee1, sheet2 ,sheet3 ,每个工作表都有一些图形和数据。 我还有另一个文件file5.xlsx ,我想在tab中的Final.xlsx中添加。 下面的代码可以正常工作,但是Final.xlsx现有图纸数据丢失了(内容,格式,grpahs等)。 需要帮助解决此问题。

    import pandas
    from openpyxl import load_workbook

    book = load_workbook('foo.xlsx')
    writer = pandas.ExcelWriter('foo.xlsx', engine='openpyxl') 
    writer.book = book
    writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
    df1=pd.read_excel('file5.xlsx')
    df1.to_excel(writer, "new",index=False)

    writer.save()

在内部,Pandas使用xlrd库读取xlsx文件。 这个库很快,但是,因为它本质上是固定在对BIFF格式的支持上,所以对OOXML的支持是有限的。 看到Pandas对图表一无所知,反正无法保留它们。

openpyxl提供公用事业openpyxl.utils.dataframe为XLSX的行和熊猫Dataframes让您完全控制工作时之间去,同时保持近在你的文件一切。 但是,就您而言,您甚至不需要熊猫,因为您可以简单地循环“ file5.xlsx”中的单元并将它们复制到其他文件中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM