使用python pyodbc和pandas数据框将数据从SQL服务器导出到Excel

时间:2018-01-15 15:55:08

标签: python mysql sql-server excel pyodbc

我是Stack以及Python的新手。下面是我的程序,我正在尝试学习如何使用python程序将数据从SQL服务器导出到Excel。我知道直接从SQL服务器导出的方法,这是我只是想学习。下面的程序没有给出任何错误,但它只提供列标题而不是实际数据。

import pyodbc
import pandas as pd

cnxn = pyodbc.connect("Driver={SQL Server};SERVER=hostname;Database=Practice;UID=XXX;PWD=XXX")

cursor = cnxn.cursor()
cursor.execute('SELECT * FROM insurance')

columns = [desc[0] for desc in cursor.description]
data = cursor.fetchall()
df = pd.DataFrame([tuple(t) for t in cursor.fetchall()], columns=columns)

writer = pd.ExcelWriter('foo.xlsx')
df.to_excel(writer, sheet_name='bar')
writer.save()

1 个答案:

答案 0 :(得分:5)

比那更容易!

import pyodbc
import pandas as pd

cnxn = pyodbc.connect("Driver={SQL Server};SERVER=xxx;Database=xxx;UID=xxx;PWD=xxx")

data = pandas.read_sql('SELECT * FROM insurance',cnxn)

data.to_excel('foo.xlsx')