2013-09-24 68 views
2

我用我們自己的框架如何導出SQL服務器結果到Excel在Python

我要出口的SQL Server結果集(查詢一個),使用離子蟒蛇擅長的工作。

在python文件裏我可以調用這個sql查詢結果。

然後,我想將該查詢結果導出爲具有標頭的excel。

這意味着,一旦我調用python文件,該查詢結果應該保存爲excel電子表格。

請任何人都可以幫助我做出正確的?

+0

你有什麼* *工作?查詢數據庫?或出口到Excel? –

+0

我有sql的結果。我需要那個準備出口到Excel使用Python代碼..我沒有任何Python代碼 – user2768851

回答

0

看看以下模塊:

  • pyodbc - 連接到SQL Server
  • xlwt - 寫入Excel電子表格

如果你還在安裝後,那些有問題模塊和閱讀文檔,那麼歡迎您通過在新問題中發佈您的腳本以及發現的任何錯誤消息來請求進一步的幫助。 :)

0

我已經在openpyxl之前取得了巨大的成功,而their tutorial很簡單,但足夠全面,可以在不絆倒有哪些陷阱的情況下進行。

5

我會用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() 

,你會沒事的。

== == UPDATE

對於較新版本的熊貓,這是一個更好的辦法來處理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) 
+0

我試圖使用這個腳本,並有錯誤,所以在發佈到此線程後:http://stackoverflow.com/questions/31550031/valueerror -with-pandas-shaped-passed-values解決方案是更改df = pd.read_sql_query(腳本,cnxn)並且工作... – DPSSpatial

+1

感謝您的提示!我不記得我當時使用的是什麼版本的熊貓,但它絕對是舊的,可​​能是它沒有工作的原因。 – moarCoffee