# !/usr/bin/env python
# -*- coding: utf-8 -*-
import MySQLdb
from datetime import datetime
import cx_Oracle
import os
import sys
import xlwt
reload(sys)
import time
sys.setdefaultencoding('utf-8')
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
def write_data_to_excel(name, result):
# 将sql作为参数传递调用get_data并将结果赋值给result,(result为一个嵌套元组)
result = result
# 实例化一个Workbook()对象(即excel文件)
wbk = xlwt.Workbook(encoding='utf-8')
# 新建一个名为Sheet1的excel sheet。此处的cell_overwrite_ok =True是为了能对同一个单元格重复操作。
sheet = wbk.add_sheet('Sheet1', cell_overwrite_ok=True)
# 获取当前日期,得到一个datetime对象如:(2016, 8, 9, 23, 12, 23, 424000)
#today = datetime.today()
# 将获取到的datetime对象仅取日期如:2016-8-9
#today_date = datetime.date(today)
# 遍历result中的没个元素。
titlelist=['bankno', 'bankstatus', 'banktype', 'bankclscode', 'clearbank', 'legalperson', 'topbanklist', 'topbankno', 'topbankname', 'rplbankno', 'peoplebankno', 'ccpcnodeno', 'citycode', 'bankname', 'bankaliasname', 'signflag', 'address', 'postcode', 'telephone', 'email', 'remark', 'cnapsgeneration', 'saccstatus', 'saccaltdate', 'saccalttime', 'remark1', 'updatedate', 'updateno', 'effectdate', 'invaliddate', 'changetype']
# for i in xrange(len(titlelist)):
# sheet.write(1, i, titlelist[i])
# wbk.save(name + str(yesterday) + '.xls')
for i in xrange(len(result)):
# 对result的每个子元素作遍历,
if i==0:
for x in xrange(len(titlelist)):
sheet.write(0, x, titlelist[x])
for j in xrange(len(result[i])):
y=i+1
# 将每一行的每个元素按行号i,列号j,写入到excel中。
#if result[i][j] is None:
sheet.write(y, j, result[i][j])
# 以传递的name+当前日期作为excel名称保存。
wbk.save(name)
conn = cx_Oracle.connect('afa/afa@1.1.1.1/xx')
cur = conn.cursor()
mysql='select distinct a.clearbank
from T_CPIM_CNAPSBANKINFO a
where a.bankno in
(select distinct b.legalperson from T_CPIM_CNAPSBANKINFO b)'
sqlb='select count(*) from (select distinct a.clearbank
from T_CPIM_CNAPSBANKINFO a
where a.bankno in
(select distinct b.legalperson from T_CPIM_CNAPSBANKINFO b))'
cur.execute(mysql)
arr01= cur.fetchall()
print type(arr01)
cur.execute(sqlb)
count=cur.fetchone()
print count[0]
time.sleep(5)
list=[]
for x in arr01:
clearbank=x[0]
print clearbank
sqlb="select * from T_CPIM_CNAPSBANKINFO a where a.clearbank=%s" % (clearbank)
print sqlb
cur.execute(sqlb)
arr02= cur.fetchall()
print len(arr02)
if len(arr02) == 1:
list.append(arr02[0])
else:
minnum=1000
for x in arr02:
print x[13]
min1=len(x[13])
if min1 < minnum:
minnum=min1
arr03=x
print arr03
print arr03[13]
#time.sleep(100)
list.append(arr03)
print list
print len(list)
write_data_to_excel('cnaps.csv',list)