Python 如何将表格导出为csv或excel格式

Python 如何将表格导出为csv或excel格式,python,oracle11g,cx-oracle,Python,Oracle11g,Cx Oracle,我需要将oracle表导出为csv/excel文件格式(以及列标题)。通过cx\U oracle或通过sqlplus欢迎提供解决方案 注释中的Python代码: con = cx.connect() cur = con.cursor() printer = cur.execute(sqlcode) con.commit() 要创建XLS文件,请使用项目中的xlwt模块。可能使用csv模块(来自标准库): 如果有大量数据,请将fetchall()展开到循环中 快乐的小径 对于非pytho

我需要将oracle表导出为csv/excel文件格式(以及列标题)。通过cx\U oracle或通过sqlplus欢迎提供解决方案

注释中的Python代码:

con = cx.connect() 
cur = con.cursor() 
printer = cur.execute(sqlcode) 
con.commit() 

要创建XLS文件,请使用项目中的xlwt模块。

可能使用csv模块(来自标准库):

如果有大量数据,请将fetchall()展开到循环中


快乐的小径

对于非python解决方案,Tom Kyte提供了一些优秀的脚本,用于使用PL/SQL(UTL_文件)、SQL*Plus和Pro*C。

csv模块易于使用。请发布到目前为止您编写的代码。con=cx.connect()cur=con.cursor()printer=cur.execute(sqlcode)con.commit(),该代码对“printer”没有任何作用(应称为query\u result)。如果是只读查询,则不需要提交()。将代码转到可以将查询结果打印到stdout的阶段。然后问一个关于创建csv etc文件的独立任务的问题。不要在评论中发布代码。请用您的代码更新问题。始终以二进制模式使用Python2打开csv文件。对于Python3,使用
newline='
。John补充道,这是一个好的观点。(我只是看了一下)另外,是否可以同时提取表标题?看一下上面编辑中的cursor.description,或者只是以元组编写器的形式写出标题。writerow(['heading1','heading2',…,])对于大量行,调整以获得最佳性能。
import csv
cursor = connection.cursor() # assuming you know how to connect to your oracle db
cursor.execute('select * from table_you_want_to_turn_to_csv')
with open('output_file.csv', 'wb') as fout:
    writer = csv.writer(fout)
    writer.writerow([ i[0] for i in cursor.description ]) # heading row
    writer.writerows(cursor.fetchall())