使用cx_Oracle 查詢Oracle數據庫將數據寫入csv

cx_Oracle 查詢並將數據寫入csv
import sys
import csv
import cx_Oracle


def connect_db()
    try:
        db = cx_Oracle.connect('username/password@ip:port/sid')
        cr = db.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')
				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()
    except:
        print('database connection faile')

if __name__ == '__main__':
	connect_db()
cx_Oracle 中文亂碼問題解決

在使用cx_oracle模塊讀取Oracle數據庫中的中文記錄時,返回值皆爲?號。
oracle數據庫版本是10g,字符集是AL32UTF8.
編寫的python腳本中需要加入如下兩句:
import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章