#!/usr/bin/env python
import csv
import pyodbc
out_file = "file.csv"
conn = pyodbc.connect("DRIVER={driver};SERVER=servername;UID=user;PWD=pass;DATABASE=data")
cursor = conn.execute("SELECT TOP 10 * FROM table")
with open(out_file, 'w') as f:
print cursor
csv.writer(f, quoting=csv.QUOTE_MINIMAL).writerows(cursor)
這是我的代碼截至目前,並按預期工作。我的問題是,在將數據插入CSV之前,如何向該行添加一些空值列?我需要這樣做,因爲我將把它與另一個將會有一些額外的數據列的查詢結合起來,並且我希望數據與空填充列對齊。在寫入CSV之前,將列追加到python光標?
無關提示:你應該移動的CSV作家的創作外循環:'作家= csv.writer(F,引用= csv.QUOTE_MINIMAL)',這樣一個新的編寫器對象不會爲每個寫入創建。 –
@StevenRumbalski,'writerows'將寫入所有可用的數據,所以沒有循環,只創建一個寫入器對象。 –
@MarkRansom:我糾正了。 –