python 读文件 oracle excel 多维数组
python 读文件 oracle excel 多维数组原创zhaoyangjian724 最后发布于2018-08-03 17:49:43 阅读数 192 收藏展开# !/usr/bin/env python# -*- coding: utf-8 -*-import MySQLdbfrom datetime import datetimeimport cx_Oracleimpo...
python 读文件 oracle excel 多维数组
原创zhaoyangjian724 最后发布于2018-08-03 17:49:43 阅读数 192 收藏
展开
# !/usr/bin/env python
# -*- coding: utf-8 -*-
import MySQLdb
from datetime import datetime
import cx_Oracle
import os
import xlwt
import sys
import re
import time
reload(sys)
sys.setdefaultencoding('utf-8')
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
import datetime # 导入日期时间模块
f = open("aaaa.txt")
array = []
list = [[] for i in range(43)]
print list
i = 0
j = 4
x = 0
for line in f:
line = line.strip()
if re.match("^\d", line):
print line
for x in range(j):
print x
print line.split('\t')[x]
list[i].append(line.split('\t')[x])
print list
# list[i][x]=line.split('\t',4)[x]
# list[i].append(line.split('\t',4)[x])
else:
continue
i = i + 1
print 'iiiiiiiiii'
print i
f.close
print '--------------------------------------------------'
print list
print str(int(list[0][2]) - 5)
def get_data(a,b,c,d):
# 创建数据库连接.
conn = cx_Oracle.connect('y/x@10.1.1.1/EDZFDB')
# 创建游标
cur = conn.cursor()
# 执行查询,
aa=a
print aa
cc=b
dd=c
ee=d
cur.prepare("""select /*+ parallel (a 8)*/ * from h_beps_paymentbook a where a.workdate >= :aa and a.payeracc = :cc and a.payeeacc = :dd and a.amount = :ee""")
cur.execute(None,{'aa':aa,'cc':cc,'dd':dd,'ee':ee})
# 由于查询语句仅会返回受影响的记录条数并不会返回数据库中实际的值,所以此处需要fetchall()来获取所有内容。
result = cur.fetchall()
# 关闭游标
cur.close()
# 关闭数据库连接
conn.close
# 返给结果给函数调用者。
return result
def write_data_to_excel(result):
y=0
# 将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=['cnaps']
# for i in xrange(len(titlelist)):
# sheet.write(1, i, titlelist[i])
# wbk.save(name + str(yesterday) + '.xls')
# 对result的每个子元素作遍历,,遍历多维数组,result[i]为2维数组
for i in xrange(len(result)):
##result[i] 表示一个2维数组
xx=result[i] ##得到一个2维数组
#result[i][j]得到一个一维数组
for j in xrange(len(xx)):
#遍历每个一维数组,将每个值写入
yy=result[i][j] ##得到一个一维数组
y=y+1
for k in xrange(len(yy)):
print result[i][j][k]
sheet.write(y, k, yy[k])
# 以传递的name+当前日期作为excel名称保存。
wbk.save('cnaps' + '.xls')
arr=[]
for x in list:
print x
try :
aa=get_data(x[2],x[0],x[1],x[3])
print aa
print type(aa)
arr.append(aa)
except Exception ,e:
print e
print arr
print type(arr)
time.sleep(10)
write_data_to_excel(arr)
————————————————
更多推荐
所有评论(0)