如何将数据从SQL表转换为Excel文件?

时间:2016-05-06 10:45:22

标签: python excel python-3.x sqlite

所以我有一个包含数据的SQL文件。我需要导入哪些库以及为了将数据导出到Excel文件需要写什么?

另外请注意,我这样做的是Python。

2 个答案:

答案 0 :(得分:1)

你是什么意思'你有一个sql文件'?你的意思是SQL Server?如果是这样,请尝试这样的事情。

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()

或者,您可以像这样创建查询。

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 pypyodbc 
cnxn = pypyodbc.connect("Driver={SQL Server Native Client 11.0};"
                        "Server='ServerName';"
                        "Database='DatabaseName';"
                        "Trusted_Connection=yes;")

#cursor = cnxn.cursor()
#cursor.execute("select * from Actions")
cursor = cnxn.cursor()
cursor.execute('SELECT * FROM Actions')

for row in cursor:
    print('row = %r' % (row,))

我已经向您展示了如何将所有内容转储到Excel中。

答案 1 :(得分:0)

将数据导出到文件登录到sqlite shell并执行以下操作

sqlite> .mode csv
sqlite> .headers on
sqlite> .output results.csv
sqlite> select * from cm_data limit 3;
sqlite>