我的代码是从文本文件中读取sql查询并在python中逐个执行它们,我尝试将查询结果保存在同一个excel中,但保存在不同的选项卡/工作表中
import pyodbc as hive
import pandas as pd
filename =r'C:\Users\krkg039\Desktop\query.txt'
fd=open(filename,'r')
sqlFile=fd.read()
fd.close()
# all SQL commands (split on ';')
sqlCommands = sqlFile.split(';')
# Execute every command from the input file
for command in sqlCommands:
try:
con = hive.connect("DSN=SFO-LG", autocommit=True)
df = pd.read_sql(command,con)
print(df)
print(command)
writer = pd.ExcelWriter('Result.xlsx')
df.to_excel(writer, sheet_name='Test',index=False)
writer.save()
except:
print("Command skipped: ")
在代码中,我希望python为执行的每个sql查询向现有excel添加工作表。
基本上python不应该每次都替换我的excel
1条答案
按热度按时间lf5gs5x21#
我不知道这是否就是问题所在,但我想如果你
writer = pd.ExcelWriter('Result.xlsx')
在for循环之外,那么你不是每次都在定义它。还可以使工作表的名称随着循环而动态变化,这样就不会写得太多。