如何在Python中将SQL Server结果导出到Excel

use*_*851 1 python

我正在使用自己的框架

我想使用ion python导出sql server结果集(查询一个)到excel.

在python文件里面我可以调用那个sql查询结果.

然后我想将查询结果导出到带有标头的excel.

这意味着一旦我调用python文件,该查询结果应该保存为excel电子表格.

请任何人帮我正确做到这一点?

moa*_*fee 8

我会用pyodbc(用于与db交互)和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()
Run Code Online (Sandbox Code Playgroud)

仔细阅读文档,你会没事的.

==更新==

对于更新版本的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)
Run Code Online (Sandbox Code Playgroud)


Tal*_*lin 0

看一下以下模块:

  • pyodbc - 连接到 SQL Server
  • xlwt - 写入 Excel 电子表格

如果您在安装这些模块并阅读文档后仍然遇到问题,那么欢迎您通过在新问题中发布您的脚本以及看到的任何错误消息来请求进一步的帮助。:)