我使用pandas以如下方式写入excel文件:
import pandas
writer = pandas.ExcelWriter('Masterfile.xlsx')
data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2'])
writer.save()
Masterfile.xlsx已经由许多不同的选项卡组成。但是,它还没有包含"Main“。
Pandas正确地写入“主”页,不幸的是它也删除了所有其他的标签页。
发布于 2013-11-26 23:45:59
Pandas docs说它对xlsx文件使用openpyxl。快速浏览一下ExcelWriter
中的代码会给出一些线索,比如下面这样的代码可能会成功:
import pandas
from openpyxl import load_workbook
book = load_workbook('Masterfile.xlsx')
writer = pandas.ExcelWriter('Masterfile.xlsx', engine='openpyxl')
writer.book = book
## ExcelWriter for some reason uses writer.sheets to access the sheet.
## If you leave it empty it will not know that sheet Main is already there
## and will create a new sheet.
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2'])
writer.save()
发布于 2017-03-07 07:46:38
在openpyxl
版本2.4.0
和pandas
版本0.19.2
中,@ski的过程变得更简单了:
import pandas
from openpyxl import load_workbook
with pandas.ExcelWriter('Masterfile.xlsx', engine='openpyxl') as writer:
writer.book = load_workbook('Masterfile.xlsx')
data_filtered.to_excel(writer, "Main", cols=['Diff1', 'Diff2'])
#That's it!
发布于 2019-01-15 04:42:09
从pandas 0.24开始,您可以使用ExcelWriter
的mode
关键字参数来简化这一过程
import pandas as pd
with pd.ExcelWriter('the_file.xlsx', engine='openpyxl', mode='a') as writer:
data_filtered.to_excel(writer)
https://stackoverflow.com/questions/20219254
复制相似问题