来自数据库查询的Python csv将自定义列添加到csv文件

时间:2015-05-28 18:47:48

标签: python sql csv

这是我试图实现的当前代码工作正常我得到查询在我的SQL服务器上运行但我需要从几个服务器收集信息。如何添加列中列出的dbserver?

import pyodbc
import csv

f = open("dblist.ini")
dbserver,UID,PWD = [ variable[variable.find("=")+1 :] for variable in f.readline().split("~")]

connectstring = "DRIVER={SQL server};SERVER=" + dbserver + ";DATABASE=master;UID="+UID+";PWD="+PWD

cnxn = pyodbc.connect(connectstring)
cursor = cnxn.cursor()

fd = open('mssql1.txt', 'r')
sqlFile = fd.read()
fd.close()

cursor.execute(sqlFile)


with open("out.csv", "wb") as csv_file:
    csv_writer = csv.writer(csv_file, delimiter = '!')
    csv_writer.writerow([i[0] for i in cursor.description]) # write headers
    csv_writer.writerows(cursor)

1 个答案:

答案 0 :(得分:0)

您可以在sql查询中添加额外信息。例如:

select "dbServerName", * from table;

您的光标将返回包含具有数据库服务器名称的实际数据前面的额外列。这种方法的缺点是你要传输更多的额外数据。