为了账号安全,请及时绑定邮箱和手机立即绑定

如何在不删除以前数据的情况下写入现有的 excel 10000 次文件?

如何在不删除以前数据的情况下写入现有的 excel 10000 次文件?

长风秋雁 2022-01-11 15:51:51
我的代码适用于循环一个进程后将生成 100 行第二个进程将生成 160 行就这样一直持续到 10000 次和近 3 亿行。import pandasfrom openpyxl import load_workbookbook = load_workbook('Masterfile.xlsx')writer = pandas.ExcelWriter('Masterfile.xlsx', engine='openpyxl') writer.book = bookwriter.sheets = dict((ws.title, ws) for ws in book.worksheets)df.to_excel(writer, "Main", cols=['Diff1', 'Diff2'])writer.save()使用了这个,但数据没有保存它仍在覆盖我的表只有 3 列,所有输出列都相同。代码:a = "SELECT id FROM USER WHERE time >'2018-03-01'"dataa = pd.read_sql_query(a, con=engine)print(dataa)for userid in dataa:   x=f"SELECT idbody FROM col1 WHERE user_id='{userid}'"   data = pd.read_sql_query(x,con = engine)在这里,我需要将这 1000 个用户 ID 行附加到一个 Excel 文件中
查看完整描述

1 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

您应该使用“追加”模式,该模式将追加数据,而不会覆盖。


import pandas

from openpyxl import load_workbook


book = load_workbook('Masterfile.xlsx')


with pandas.ExcelWriter('Masterfile.xlsx', engine='openpyxl', mode='a') as writer: 

    writer.book = book

    writer.sheets = dict((ws.title, ws) for ws in book.worksheets)


    df.to_excel(writer, "Main", cols=['Diff1', 'Diff2'])


    writer.save()


查看完整回答
反对 回复 2022-01-11
  • 1 回答
  • 0 关注
  • 215 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号