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

时间:2011-04-14 21:14:06

标签: python oracle11g cx-oracle

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

评论中的Python代码:

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

3 个答案:

答案 0 :(得分:12)

也许使用csv模块(来自标准库):

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())

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

快乐的小道!

答案 1 :(得分:2)

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

答案 2 :(得分:1)

对于非python解决方案,Tom Kyte使用PL / SQL(UTL_FILE),SQL * Plus和Pro * C为generating CSV files提供了一些优秀的脚本。