猿问

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

我的代码适用于循环


一个进程后将生成 100 行第二个进程将生成 160 行


就这样一直持续到 10000 次和近 3 亿行。


import pandas

from openpyxl import load_workbook


book = load_workbook('Masterfile.xlsx')

writer = pandas.ExcelWriter('Masterfile.xlsx', engine='openpyxl') 

writer.book = book

writer.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 文件中


长风秋雁
浏览 216回答 1
1回答

慕婉清6462132

您应该使用“追加”模式,该模式将追加数据,而不会覆盖。import pandasfrom openpyxl import load_workbookbook = 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()
随时随地看视频慕课网APP

相关分类

Python
我要回答