我有一个包含多个sheet - shee1, sheet2 ,sheet3的Final.xlsx,每个表都有一些图形和数据。我有另一个文件file5.xlsx,我想添加到选项卡中的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()发布于 2018-08-29 20:23:52
在内部,Pandas使用xlrd库读取xlsx文件。这个库速度很快,但因为它基本上固定在对BIFF格式的支持上,所以它对OOXML的支持是有限的。由于Pandas对图表一无所知,它无论如何也不能保留它们。
openpyxl在openpyxl.utils.dataframe中提供了在XLSX的行和Pandas Dataframe之间切换的实用程序,让您在工作时完全控制,同时将几乎所有其他内容保留在文件中。然而,在您的例子中,您甚至不需要Pandas,因为您可以简单地循环"file5.xlsx“中的单元格,并将它们复制到其他文件中。
https://stackoverflow.com/questions/52074771
复制相似问题