Python - 将标头写入 csv

Posted

技术标签:

【中文标题】Python - 将标头写入 csv【英文标题】:Python - write headers to csv 【发布时间】:2015-12-08 19:21:00 【问题描述】:

目前我正在 python 中编写查询,将数据从 oracle dbo 导出到 .csv 文件。我不确定如何在文件中写入标题。

try:
    connection = cx_Oracle.connect('user','pass','tns_name')
    cursor = connection.cursor()
    print "connected"

    try:
        query = """select * from """ .format(line_name)
        tmp = cursor.execute(query)
        results = tmp.fetchall()
    except:
        pass

except:
    print IOError


filename='0.csv'.format(line_name)
csv_file = open(filename,'wb')

if results:
    myFile = csv.writer(csv_file)
    myFile.writerows(results)
else:
    print "null"
csv_file.close()

【问题讨论】:

【参考方案1】:

您可以在执行查询后执行此操作:

columns = [i[0] for i in cursor.description]

所以你得到

query = """select * from """ .format(line_name)
tmp = cursor.execute(query)
columns = [i[0] for i in cursor.description]
results = tmp.fetchall()

然后做:

if results:
    myFile = csv.writer(csv_file)
    myFile.writerow(columns)
    myFile.writerows(results)

或者您可以将结果转换为字典并使用DictWriter 女巫接受字段名

【讨论】:

以上是关于Python - 将标头写入 csv的主要内容,如果未能解决你的问题,请参考以下文章

将多个列表写入 csv Python

Python - 将标头写入 csv

在csv python中编写查询行

写入响应标头后服务器关闭连接时的 HttpClient 异常

java.io.IOException:写入“”字节的请求超出了“条目”的“字节”标头中的大小

使用 Python 获取标头并转换为 JSON(请求 - urllib2 - json)