我有一个类似下面的代码。
#使用熊猫执行某些操作后,我已将df写入.xlsx
df.to_excel('file5.xlsx',index=False) # This excel has a single tab(sheet) inside
然后,我有另一个.xlsx文件(已提供)Final.xlsx
,里面有多个标签(工作表),如file1,file2,file3,file4
。我想将新创建的file5.xls
添加到Final.xlsx
作为工作表file4
之后的新工作表。
在Anky提供的答案下面,它将表xlsx file5.xlsx
添加到'Final.xlsx',但是表file1 2 3 4
中的内容丢失了,格式被破坏了,数据也丢失了... < / p>
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()
需要帮助解决此问题。
我在另一个问题中提出了这个问题-Data missing, format changed in .xlsx file having multiple sheets using pandas, openpyxl while adding new sheet in existing .xlsx file
答案 0 :(得分:1)
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)
df.to_excel(writer, "file5",index=False)
writer.save()
Sheetname可以是您想要保留的任意名称:file5