python中的pandas写入sheet不覆盖原有sheet的解决办法(pandas写入execl不覆盖原有数据)

最近学习pandas遇到一个问题,使用groupby获取分组统计数据后写入execl多次写入,每次写入都覆盖了原来的execl数据很苦恼

最终核实到需要引入openpyxl处理

import pandas as pd
import openpyxl


book = openpyxl.load_workbook('data/demo.xlsx')   
#读取你要写入的workbook,注意xls用xlwt xlsx用openpyxl
writer = pd.ExcelWriter('data/demo.xlsx', engine='openpyxl')
##此时的writer里还只是读写器. 然后将上面读取的book复制给writer
writer.book = book
#转化为字典的形式
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)


#data是需要写入的数据,注意sheet_name值和已经存在的不要冲突
data.to_excel(writer,sheet_name='My Worksheet1')
writer.save()


OK,问题完美解决
About sun 83 Articles
85后青年,自诩为伪文艺青年

Be the first to comment

Leave a Reply

Your email address will not be published.


*