gpt4 book ai didi

python - 在 Python 中使用 pandas 在现有 Excel 中添加多个工作表

转载 作者:行者123 更新时间:2023-11-30 21:56:06 25 4
gpt4 key购买 nike

我的代码正在从文本文件中读取 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

最佳答案

我不知道这是否正是问题所在,但我认为如果你采取writer = pd.ExcelWriter('Result.xlsx')跳出 for 循环,那么您就不必每次都重新定义它。还要使工作表的名称随循环动态变化,这样就不会覆盖它。

writer = pd.ExcelWriter('Result.xlsx')
for command in sqlCommands:
try:
con = hive.connect("DSN=SFO-LG", autocommit=True)
df = pd.read_sql(command,con)
print(df)
print(command)
df.to_excel(writer, sheet_name='Test'+command,index=False)
writer.save()
except:
print("Command skipped: ")

关于python - 在 Python 中使用 pandas 在现有 Excel 中添加多个工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55592986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com