Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法

yipeiwu_com5年前Python基础

本文实例讲述了Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法。分享给大家供大家参考。具体实现方法如下:

# Export Oracle database tables to CSV files
# FB36 - 201007117
import sys
import csv
import cx_Oracle
connection = raw_input("Enter Oracle DB connection (uid/pwd@database) : ")
orcl = cx_Oracle.connect(connection)
curs = orcl.cursor()
printHeader = True # include column headers in each table output
sql = "select * from tab" # get a list of all tables
curs.execute(sql)
for row_data in curs:
  if not row_data[0].startswith('BIN$'): # skip recycle bin tables
    tableName = row_data[0]
    # output each table content to a separate CSV file
    csv_file_dest = tableName + ".csv"
    outputFile = open(csv_file_dest,'w') # 'wb'
    output = csv.writer(outputFile, dialect='excel')
    sql = "select * from " + tableName
    curs2 = orcl.cursor()
    curs2.execute(sql)
    if printHeader: # add column headers if requested
      cols = []
      for col in curs2.description:
        cols.append(col[0])
      output.writerow(cols)
    for row_data in curs2: # add table rows
      output.writerow(row_data)
    outputFile.close()

希望本文所述对大家的Python程序设计有所帮助。

相关文章

python 打印对象的所有属性值的方法

如下所示: def prn_obj(obj): print '\n'.join(['%s:%s' % item for item in obj.__dict__.items()...

Python中使用PIPE操作Linux管道

Python中使用PIPE操作Linux管道

Linux中进程的通信方式有信号,管道,共享内存,消息队列socket等。其中管道是*nix系统进程间通信的最古老形式,所有*nix都提供这种通信方式。管道是一种半双工的通信机制,也就是...

Python3实现将本地JSON大数据文件写入MySQL数据库的方法

本文实例讲述了Python3实现将本地JSON大数据文件写入MySQL数据库的方法。分享给大家供大家参考,具体如下: 最近导师给了一个yelp上的评论数据,数据量达到3.55个G,如果进...

横向对比分析Python解析XML的四种方式

横向对比分析Python解析XML的四种方式

在最初学习PYTHON的时候,只知道有DOM和SAX两种解析方法,但是其效率都不够理想,由于需要处理的文件数量太大,这两种方式耗时太高无法接受。 在网络搜索后发现,目前应用比较广泛,且效...

CentOS下Python3的安装及创建虚拟环境的方法

CentOS下Python3的安装及创建虚拟环境的方法

安装python3 一、安装需要编译的关联库 yum instal -y zlib zlib-devel   (根据自己系统的情况,安装需要的关联库,同样用yum安装...