python连接oracle导出excel
2018-02-05 11:20
726 查看
起因
最近工作中发现的一个不便利的地方,就是自己维护的系统每个月需要整理出相关的月报,而月报中的数据则是根据去生产环境的oracle去查询对应sql而来的,将这些数据每次查询后在整理到一个excel中,前两次属于熟悉流程阶段,后来觉得有些浪费时间,所以决定用python自动化下此步骤,记录下一个demo。依赖环境
python3cx_Oracle
openpyxl
编码demo
cx_Oracle 专门连接Oracle的库,在之前的文章也有写过。 openpyxl 此库可以与excel后缀名为xlsx的进行交互操作,在之前的文章也有写过。
#coding=utf-8 import cx_Oracle from openpyxl import Workbook #连接oracle,读取数据 def link_Oracle(wb): create_wb(wb,'helloDatas.xlsx') ws = wb.create_sheet(title='我是第一个title',index=0) #用户名、密码、"ip/库名" connection = cx_Oracle.connect("username","password","192.168.1.2/test") cursor = connection.cursor() sql = ''' select t.name,t.age from student t ''' cursor.execute(sql) #row = cursor.fetchone() #print(row) list_A_B = [] #遍历游标 rowcount=1 for a in cursor: rowcount = rowcount + 1 list_A_B.append(a) #读取表字段值 db_title = [i[0] for i in cursor.description] #遍历表字段值 for titleNum in range(len(db_title)): A = ws.cell(row=1,column=1) B = ws.cell(row=1,column=2) A.value = db_title[titleNum] B.value = db_title[titleNum] #读取数据到excel for rowNum in range(1,rowcount): A = ws.cell(row=rowNum,column=1) B = ws.cell(row=rowNum,column=2) #list_A_B索引从0开始,所以-1,list中存的是tuple,后面[0]获取的是tuple中的对应元素 A.value = list_A_B[rowNum-1][0] B.value = list_A_B[rowNum-1][1] cursor.close() connection.close() wb.save('helloDatas.xlsx') #创建Excel def create_wb(wb,filename): wb.save(filename=filename) print ("新建Excel:"+filename+"成功") if __name__ == '__main__': wb = Workbook() link_Oracle(wb)
结语
编码大概就是上面这个样子,具体实现起来很简单。相关文章推荐
- Python 2.7_初试连接Mysql查询数据导出到excel_20161216
- python连接oracle,把计算结果存入本地excel并发送带附件邮件
- EXCEL 通过ODBC连接ORACLE, 导出表或数据透视表进行分析
- oracle 数据库中数据导出到excel
- 导出oracle用户下所有表结构到excel
- Django+python做数据库导出excel 和站内搜索 参考
- Python(Pycharm)连接Oracle数据库之cx_Oracle的使用(cx_Oracle在pyCharm中报错)
- 用python3实现从mysql导出数据到excel
- PowerDesigner15连接Oracle数据库并导出Oracle的表结构
- oracle 数据库中数据导出到excel
- Python实现导出数据生成excel报表的方法示例
- Oracle使用PLSQL连接时,导入导出问题
- python把Teslink导出的xml格式转换为excel
- 【Python Oracle】使用cx_Oracle 连接oracle的简单介绍
- Python连接oracle的几种方式
- Excel使用经验——Excel连接Oracle,发生3706错误的解决办法
- DateTable 导出到Excel中(带样式,图片,连接,公式)
- Oracle&C# 导出多Sheet Excel ,使用Oracle Package (不积跬步,无以至千里)
- python cx_oracle 变量形式连接数据库
- 利用TOAD实现EXCEL数据在oracle的导入导出