我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python自动处理数据生成报表

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python自动处理数据生成报表

使用模块xlsxwriter

import xlsxwriter


workbook = xlsxwriter.Workbook('chart.xlsx')     #创建一个Excel文件

worksheet = workbook.add_worksheet()             #创建一个工作表对象

chart = workbook.add_chart({'type': 'column'})    #创建一个图表对象


#定义数据表头列表

title = [u'业务名称',u'星期一',u'星期二',u'星期三',u'星期四',u'星期五',u'星期六',u'星期日',u'平均流量']

buname= [u'业务官网',u'新闻中心',u'购物频道',u'体育频道',u'亲子频道']          #定义频道名称


#定义5频道一周7天流量数据列表

data = [

     [150,152,158,149,155,145,148],

     [89,88,95,93,98,100,99],

     [201,200,198,175,170,198,195],

     [75,77,78,78,74,70,79],

     [88,85,87,90,93,88,84],

]

format=workbook.add_format()          #定义format格式对象

format.set_border(1)        #定义format对象单元格边框加粗(1像素)的格式

format_title=workbook.add_format()            #定义format_title格式对象

format_title.set_border(1)         #定义format_title对象单元格边框加粗(1像素)的格式

format_title.set_bg_color('#cccccc')           #定义format_title对象单元格背景颜色为cccccc的格式

format_title.set_align('center')           #定义format_title对象单元格居中对齐的格式

format_title.set_bold()        #定义format_title对象单元格内容加粗的格式

format_ave=workbook.add_format()           #定义format_ave格式对象

format_ave.set_border(1)         #定义format_ave对象单元格边框加粗(1像素)的格式

format_ave.set_num_format('0.00')          #定义format_ave对象单元格数字类别显示格式


#下面分别以行或列写入方式将标题、业务名称、流量数据写入起初单元格,同时引用不同格式对象

worksheet.write_row('A1',title,format_title)

worksheet.write_column('A2', buname,format)

worksheet.write_row('B2', data[0],format)

worksheet.write_row('B3', data[1],format)

worksheet.write_row('B4', data[2],format)

worksheet.write_row('B5', data[3],format)

worksheet.write_row('B6', data[4],format)


#定义图表数据系列函数

def chart_series(cur_row):

    worksheet.write_formula('I'+cur_row, '=AVERAGE(B'+cur_row+':H'+cur_row+')', format_ave)       #计算(AVERAGE函数)频道周平均流量

    chart.add_series({

        'categories': '=Sheet1!$B$1:$H$1',     #将“星期一至星期日”作为图表数据标签(X轴)

        'values': '=Sheet1!$B$'+cur_row+':$H$'+cur_row,          #频道一周所有数据作为数据区域

        'line': {'color': 'red'},          #线条颜色定义为black(黑色)

        'name': '=Sheet1!$A$'+cur_row,             #引用业务名称为图例项

    })


for row in range(2, 7):     #数据域以第2~6行进行图表数据系列函数调用

    chart_series(str(row))


#chart.set_table()      #设置X轴表格格式,本示例不启用

#chart.set_style(30)       #设置图表样式,本示例不启用

chart.set_size({'width': 577, 'height': 287})            #设置图表大小

chart.set_title ({'name': u'流量数据周报报表'})          #设置图表(上方)大标题

chart.set_y_axis({'name': 'Mb/s'})         #设置y轴(左侧)小标题

worksheet.insert_chart('A11', chart)          #在A8单元格插入图表

workbook.close() 


生成报表后即可使用邮件处理程序发送到指定联系人。

python下比较好用的邮件处理模块是smtplib,关于如何使用smtplib进行邮件发送请参考我的前几篇文章http://itech.blog.51cto.com/192113/1782213


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python自动处理数据生成报表

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python自动处理数据生成报表

使用模块xlsxwriterimport xlsxwriterworkbook = xlsxwriter.Workbook('chart.xlsx')     #创建一个Excel文件worksheet = workbook.add_wor
2023-01-31

jpa自动生成数据表怎么实现

JPA(Java Persistence API)是JavaEE的一个规范,用于简化Java应用程序与数据库之间的交互。JPA提供了一种自动生成数据表的功能,可以通过使用实体类与注解来实现。以下是实现JPA自动生成数据表的步骤:1. 添加J
2023-10-20

如何利用Python实现自动生成数据日报

这篇文章主要讲解了“如何利用Python实现自动生成数据日报”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何利用Python实现自动生成数据日报”吧!需求详解朋友的需求是这样的,他们平时的
2023-07-02

触发器在数据报表自动化生成中的价值

触发器在数据报表自动化生成中的价值主要体现在以下几个方面:自动执行:触发器可以在特定事件发生时自动执行预定义的操作,无需手动干预。数据完整性:通过在数据库操作前或后执行验证和修改操作,触发器能够维护数据的完整性和一致性。审计和日志记录:
触发器在数据报表自动化生成中的价值
2024-09-26

如何用Python自动生成报表以邮件发送

如何用Python自动生成报表以邮件发送,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。数据分析师肯定每天都被各种各样的数据数据报表搞得焦头烂额,老板的,运营的、
2023-06-17

递归查询在数据报表自动化生成中的优化

递归查询在数据报表自动化生成中可能会导致性能问题,因为它可能会产生大量的重复计算和不必要的数据传输。为了优化递归查询,可以采取以下策略:使用缓存:将已经计算过的结果存储在缓存中,以便在后续请求中直接使用,从而避免重复计算。这可以显著提高性能
递归查询在数据报表自动化生成中的优化
2024-09-08

怎么在Activiti中自动生成28张数据表

这期内容当中小编将会给大家带来有关怎么在Activiti中自动生成28张数据表,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。@Configurationpublic class SpringBootAct
2023-06-14

Python自动生成列表怎么实现

Python可以使用for循环和列表推导式来自动生成列表。以下是两种常见的方法:1. 使用for循环生成列表:```pythonmy_list = []for i in range(10): # 生成0到9的数字my_list.appen
2023-10-11

mysql自动生成大量数据

mysql自动生成大量数据 目录mysql自动生成大量数据创建随机数字生成生成随机字符串生成随机数字,返回varchar类型数据组合,例如手机号创建用户表myisam引擎创建存储过程生成数据创建表innodb引擎mysql自动生成大量数据为了学习
mysql自动生成大量数据
2019-02-17

Python处理JSON数据并生成条形图

一、JSON 数据准备 首先准备一份 JSON 数据,这份数据共有 3560 条内容,每条内容结构如下:本示例主要是以 tz(timezone 时区) 这一字段的值,分析这份数据里时区的分布情况。 二、将 JSON 数据转换成 Python
2022-06-04

oracle数据库自动生成数据库表结构文档(亲测有效)

1 2 3 import java.awt.Color; 4 import java.io.FileOutputStream; 5 import java.sql.Connection; 6 import java.sql.DriverManage
2018-06-11

怎么让java只根据数据库表名自动生成实体类

这篇文章将为大家详细讲解有关怎么让java只根据数据库表名自动生成实体类,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。根据数据库表名生成实体类公司用的jpa,没有用mybatis。所以也没有用mybati
2023-06-15

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录