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

yipeiwu_com6年前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 os模块中的isfile()和isdir()函数均返回false问题解决方法

今天在写一个linux下自动备份指定目录下的所有目录的脚本时,遇到了一个问题,由于我是需要备份目录,所以,需要判断扫描的文件是否为目录,当我用os.path.isdir()来判断的时候,...

Python实现的简单万年历例子分享

复制代码 代码如下:#!/usr/bin/env python2#-*- coding:utf-8 -*-__author__ = 'jalright' """使用python实现万年历...

解决pandas中读取中文名称的csv文件报错的问题

之前在使用Pandas处理csv文件时,发现如果文件名为中文,则会报错: OSError: Initializing from file failed 后来在一位博主的博客中解释了...

浅谈python中copy和deepcopy中的区别

在下是个编程爱好者,最近将魔爪伸向了Python编程。。。。。遇到copy和deepcopy感到很困惑,现在针对这两个方法进行区分,一种是浅复制(copy),一种是深度复制(deepco...

解决.ui文件生成的.py文件运行不出现界面的方法

一般需要导入下面两个包 from PyQt5.QtWidgets import QApplication import sys 并且在.py文件中加入以下代码: if __na...