我有一个sql命令列表,我想将它们的结果写入csv文件(每个命令的结果都在不同的列中)。我设法将结果写入csv文件但不幸的是它始终从第一列开始编写。这是我的代码:
for command in sql_files:
fd = open(command, 'r')
sql_file = fd.read()
fd.close()
excel = open('output_file.csv', 'wb')
writer = csv.writer(excel)
try:
cursor.execute(sql_file)
except:
print "Error executing the file"
writer.writerow([i[0] for i in cursor.description]) # heading row
writer.writerows(cursor.fetchall())
例如,对于以下查询:
SELECT id FROM tbl_users
SELECT age FROM tbl_costumers
该文件看起来像这样:
id | age
----------
1 | 15
2 | 20