#!/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 之前,我将如何在行中添加一些空值列?我需要这样做,因为我将它与另一个将具有一些额外数据列的查询相结合,并且我希望数据与填充 null 的列对齐。
怎么样:
writer = csv.writer(f, quoting=csv.QUOTE_MINIMAL)
for row in cursor:
writer.writerow(list(row) + ['', '', '', ''])