使用python生成oracle数据报表
#!/usr/bin/env python
#coding:utf-8
# cx_Oracle 用于访问oracle和导出数据
import cx_Oracle
# xlsxwriter 用于生成xlsx文件
import xlsxwriter
import time
import sys
# 导入邮件模块
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import smtplibreload(sys)
sys.setsys.setdefaultencodingdefaultencoding("gbk") #修改默认编码为“gbk”,解决中文编码问题 不进行设置会出现 UnicodeDecodeError: 'ascii' codec can't decode byte 0xa1 in position 36: ordinal not in range(128)con = cx_Oracle.connect("comm/12345678@orcl")
cursor = con.cursor()#定义SQL脚本 由于脚本包含中文,使用decode('utf-8').encode('gbk') 对其进行转换
sql ='''
select count 收费金额,locate 分中心
from business
'''.decode('utf-8').encode('gbk')query1 = cursor.execute(sql) #执行查询title = [i[0] for i in query1.description]date_now=time.strftime("%Y%m%d",time.localtime())#文件名及其路径report_name='/excel/' + "业务数据".decode('utf-8').encode('gbk') + date_now + '.xlsx'#生成xlsx格式oracle查询统计报表workbook = xlsxwriter.Workbook(report_name, {'constant_memory': True})
worksheet = workbook.add_worksheet()
print time.ctime()
data = cursor.fetchall()
print time.ctime()
worksheet.write_row(0, 0, title)
for row, row_date in enumerate(data):worksheet.write_row(row+1, 0, row_date)
print time.ctime()
cursor.close()
con.close()
workbook.close()#以下代码实现发送邮件msg = MIMEMultipart()#定义附件名att1_name="业务数据".decode('utf-8').encode('gbk') + date_now + '.xlsx' #读入附件,report_nameatt1 = MIMEText(open(report_name, 'rb').read(), 'base64', 'gb2312')
att1["Content-Type"] = 'application/octet-stream'
att1["Content-Disposition"] = 'p_w_upload; filename=%s' % att1_name.encode('gbk')
msg.attach(att1)msg['to'] = 'boss@126.com'
msg['from'] = 'report@126.com'
msg['subject'] = "每周业务数据".decode('utf-8').encode('gbk')
try:server = smtplib.SMTP()server.connect('mail.126.com')server.login('report@126.com','12345678')#server.sendmail(msg['from'], msg['to'],msg.as_string())server.quit()print 'successful.'
except Exception, e:print str(e)
转载于:https://blog.51cto.com/justfun/1670002
使用python生成oracle数据报表相关推荐
- oracle数据导入到python,Python导入oracle数据的方法 -电脑资料
作者:Sephiroth 字体:[增加 减小] 类型:转载 这篇文章主要介绍了Python导入oracle数据的方法,涉及Python读取csv文件信息再插入到Oracle数据库的相关技巧,具有一定参 ...
- python生成正态分布数据_python 生成正态分布数据,并绘图和解析
1.生成正态分布数据并绘制概率分布图 import pandas as pd import numpy as np import matplotlib.pyplot as plt # 根据均值.标准差 ...
- oracle数据导入到python,Python导入oracle数据的方法
Python导入oracle数据的方法 本文实例讲述了Python导入oracle数据的方法.分享给大家供大家参考.具体如下: import cx_Oracle dns_tns=cx_Oracle.m ...
- python生成可视化数据(matplotlib)
我们知道python做数据分析是一流的,把数据变为可视化内容,如果我们有一个表格,表格里面有很多数据,我们该如何把这些数据转换为可视化数据咧.首页,我们来看下如何来进行操作的吧. 首先,我们先看下我们 ...
- 用 Python 自动生成 Excel 数据报表~
大家好,我是小z 今天给大家来一波实战,使用Python自动化生成数据报表! 从一条条的数据中,创建出一张数据报表,得出你想要的东西,提高效率. 主要使用到pandas.xlwings以及matplo ...
- python 正弦曲线_使用python生成正弦波数据
在调试ESP32的音频功能的时候,需要对声音的效果做个测试,需要1khz的正弦波c语言数组形式的数据,采样率为16k.这么算也就是一个完整的正弦波波形用16个点来表示.如何快速获取这样的数据,又想起来 ...
- Python读取Oracle数据乱码问题解决
[问题描述] 在使用Python读取Oracle中数据的时候,遇到了中文乱码的问题,简单举例如下: import cx_Oracle import pandas as pdconn = cx_Orac ...
- python 生成随机数据,随机中文,英文,数字,姓名等
笔者也经常在网上查询信息,但发现很多信息都是照搬,内容甚至有错误,可用性很低.笔者就认为如果要分享就应该把遇到的问题真实的分享出来,让更多同路人少走弯路.节约时间. 觉得这篇文章有帮助的同学可以点个赞 ...
- 用Python自动生成Excel数据报表!
大家好,我是辰哥~ 点击下方名片关注和星标『Python研究者』!
最新文章
- python基础、print,input,if判断等
- python 导入其他上级目录的模块
- asp.net)js 在当前日期上加一天和系统发布
- 【Python】Python中常用的字符串处理函数
- ABAP中分页控件的定义
- Win2008建立kms服务器vlmcsd
- AtCoder Beginner Contest 261笔记
- 微型计算机课程设计电子密码锁,《微机原理及应用》课程设计基于74LS112的电子密码锁设计报告初版...
- Python基础综合训练三(tkinter牛刀小试)
- python复杂背景抠图_Opencv实现抠图背景图替换功能
- linux 自动降频,Linux资格认证:Ubuntu下对CPU进行降频
- Chrome 印象笔记.剪裁登录弹出国际版
- 力扣88 - 合并两个有序数组【归并排序思维】
- 混凝土抗压弹性模量自动计算表_2011混凝土弹性模量试验.doc
- vue项目接入e2e自动化测试
- 谈谈“老鼠找毒水“和“猪找毒水”问题
- 小说文学行业之“盛大文学”
- java将本地图片复制添加水印并导出到本地
- 求网络号,广播地址,第一个可用ip,最后一个可用ip。可用ip总数
- 手机蓝牙控制51单片机实现对led灯的开关