我正在使用我们自己的框架
我想使用 ion python 将 sql server 结果集(查询一个)导出到 excel 中。
在 python 文件中,我可以调用该 sql 查询结果。
然后我想将该查询结果导出到带有标题的 excel 中。
这意味着一旦我调用 python 文件,该查询结果应该保存为 Excel 电子表格。
请任何人都可以帮助我正确地做到这一点?
我正在使用我们自己的框架
我想使用 ion python 将 sql server 结果集(查询一个)导出到 excel 中。
在 python 文件中,我可以调用该 sql 查询结果。
然后我想将该查询结果导出到带有标题的 excel 中。
这意味着一旦我调用 python 文件,该查询结果应该保存为 Excel 电子表格。
请任何人都可以帮助我正确地做到这一点?
我会用pyodbc(用于与数据库交互)和pandas(用于操作数据和导出为电子表格)来做到这一点。
这是一个简单的例子:
import pyodbc
import pandas as pd
cnxn = pyodbc.connect(< db details here >)
cursor = cnxn.cursor()
script = """
SELECT * FROM my_table
"""
cursor.execute(script)
columns = [desc[0] for desc in cursor.description]
data = cursor.fetchall()
df = pd.DataFrame(list(data), columns=columns)
writer = pd.ExcelWriter('foo.xlsx')
df.to_excel(writer, sheet_name='bar')
writer.save()
通读文档,你会没事的。
== 更新 ==
对于更新版本的 pandas,这是处理 SQL 查询的更好方法:
import pyodbc
import pandas as pd
cnxn = pyodbc.connect(< db details here >)
script = """
SELECT * FROM my_table
"""
df = pd.read_sql_query(script, cnxn)
import pandas as pd
import xlsxwriter
import pyodbc
conn = pyodbc.connect('Driver={SQL Server}; Server=ServerIP; uid=UID; pwd=Password; Trusted_Connection=No;')
with pd.ExcelWriter("Output.xlsx", engine="xlsxwriter", options = {'strings_to_numbers': True, 'strings_to_formulas': False}) as writer:
try:
df = pd.read_sql("Select * from Orders", conn)
df.to_excel(writer, sheet_name = "Sheet1", header = True, index = False)
print("File saved successfully!")
except:
print("There is an error")