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