Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从数据库查询添加自定义列到csv文件的Python csv_Python_Sql_Csv - Fatal编程技术网

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

从数据库查询添加自定义列到csv文件的Python csv,python,sql,csv,Python,Sql,Csv,以下是我试图实现的目标:我当前的代码运行良好,我可以在我的sql server上运行查询,但我需要从多个服务器收集信息。如何添加列中列出了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上运行查询,但我需要从多个服务器收集信息。如何添加列中列出了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)

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

select "dbServerName", * from table;
光标将返回,在实际数据前面有一个额外的列,该列具有db服务器名称。这种方法的缺点是您需要传输更多的数据