我的代码适用于循环一个进程后将生成 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()
添加回答
举报
0/150
提交
取消