【问题标题】:Python csv from database query adding a custom column to csv file来自数据库查询的 Python csv 将自定义列添加到 csv 文件
【发布时间】:2015-05-28 18:47:48
【问题描述】:

这是我尝试实现的,我当前的代码工作正常我让查询在我的 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)

【问题讨论】:

    标签: python sql csv


    【解决方案1】:

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

    select "dbServerName", * from table;
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-10
      • 1970-01-01
      相关资源
      最近更新 更多