我想連接到oracle表並執行一個sql。我需要將結果集導出到csv文件。我的代碼如下:你怎麼寫輸出的sql到python的csv文件
import pyodbc
import csv
cnxn = pyodbc.connect("DSN=11g;UID=test101;PWD=passwd")
cursor = cnxn.cursor()
cursor.execute(sql)
row = cursor.fetchall()
with open('data.csv', 'w', newline='') as fp:
a = csv.writer(fp, delimiter=',')
for line in row:
a.writerows(line)
cursor.close()
當我內for循環打印到行,我得到這樣的:
('Production', 'farm1', 'dc1prb01', 'web')
('Production', 'farv2', 'dc2pr2db01', 'app.3')
('Production', 'farm5', 'dc2pr2db02', 'db.3')
這是行不通的。任何想法,我可能會錯過?
你能解釋一下 - *這不工作*?它怎麼不起作用?你還有什麼? –
他只是對csv.writer使用了錯誤的方法,Padraic的答案是正確的。 – LuRsT
我得到這個錯誤:打開('data.csv','w',newline ='')爲fp: TypeError:'newline'是此函數的無效關鍵字參數 – user1471980