我是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()
答案 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')