python导出oracle中的表内容,并生成excel文件

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK; ### 如果oracle表中有中文输出,为防止乱码,执行脚本前,需要先制定字符集; 

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import xlwt
import xlrd
import random
import cx_Oracle
import xlsxwriter
import chardet
import os

import sys

sys.setdefaultencoding('utf-8')

sql1='xxx'                                        ###sql语句

conn=cx_Oracle.connect('xxx/xx@x.x..x/x')         ###连接oracle
c=conn.cursor()
filename=xlsxwriter.Workbook('lgx.xlsx')          ###保存execel名称
x=c.execute(sql1)
title = [i[0] for i in c.description]
sheet=filename.add_worksheet()
for row in range(0,len(title)):
    sheet.write(0,row,title[row])
mk=x.fetchall()
for row in range(0,len(mk)):
    for col in range(0,len(mk[row])):
        if type(mk[row][col]) == str:
            sheet.write(row+1,col,mk[row][col].decode('GBK').encode('UTF-8'))
        else :
            sheet.write(row+1,col,mk[row][col])
filename.close()
c.close()
conn.close()

posted @ 2018-03-09 13:39  xiao_pai_pai  阅读(567)  评论(0编辑  收藏  举报