Python自动化办公之 Excel 自动绘制图表

简介: Python自动化办公之 Excel 自动绘制图表

今天的主题是 Excel,相信大家都比较熟悉吧。而且我相信,大家在日常使用 Excel 的时候,肯定会遇到很多重复繁琐的工作,因为我也同样遇到过。这个时候我通常都会思考下,有没有办法让繁琐的事情变得简单些呢,毕竟我们是 Python 使用者嘛!

所以我个人在工作当中还是积累来一些 Excel 自动化相关都经验都,在后面都文章当中,我会陆续推出 Excel、PDF 等等相关软件都自动化内容,感兴趣都同学记得来看哦!

今天我们d的主题就是为 Excel 自动添加图表,实现起来很简单,保证五分钟完事儿!





基本原理

这里我们使用 xlsxwriter 这个库,简直不要太强大!

首先我们先来看下如何通过这个库来编辑 Excel 呢

import xlsxwriter
# 创建一个excel
workbook = xlsxwriter.Workbook("chart.xlsx")
# 创建一个sheet
worksheet = workbook.add_worksheet()

对于创建 Excel 和新增 sheet 都没啥说的,基本套路搞定!

# 自定义样式,加粗
bold = workbook.add_format({'bold': 1})
# 向excel中写入数据,建立图标时要用到
headings = ['Number', 'testA', 'testB']
data = [
    ['2020-9-1', '2020-9-2', '2020-9-3', '2020-9-4', '2020-9-5', '2020-9-6'],
    [10, 40, 50, 20, 10, 50],
    [30, 60, 70, 50, 40, 30],
]
# 写入表头
worksheet.write_row('A1', headings, bold)
# 写入数据
worksheet.write_column('A2', data[0])
worksheet.write_column('B2', data[1])
worksheet.write_column('C2', data[2])

这里,我们定义了一些测试数据,然后通过 write_row 函数写入表头,通过 write_column 函数来按列写入数据,此时我们得到的 Excel 应该是如下的


画图开始

下面就是重点了,我们要看是根据测试数据来画图表了

# 创建一个柱状图(line chart)
chart_col = workbook.add_chart({'type': 'line'})
# 配置第一个系列数据
chart_col.add_series({
    # 这里的sheet1是默认的值,因为我们在新建sheet时没有指定sheet名
    # 如果我们新建sheet时设置了sheet名,这里就要设置成相应的值
    'name': '=Sheet1!$B$1',
    'categories': '=Sheet1!$A$2:$A$7',
    'values':   '=Sheet1!$B$2:$B$7',
    'line': {'color': 'red'},
})
# 配置第二个系列数据
chart_col.add_series({
    'name': '=Sheet1!$C$1',
    'categories':  '=Sheet1!$A$2:$A$7',
    'values':   '=Sheet1!$C$2:$C$7',
    'line': {'color': 'yellow'},
})

通过 add_chart 函数来新增一个图表,type 就是 图表都类型

而对于 add_series 就是具体都图表数据信息了,相信也是一目了然的!

最后再设置 X、Y 轴的信息,并设置下图表所在的位置就完成了

# 设置图表的title 和 x,y轴信息
chart_col.set_title({'name': 'The test Analysis'})
chart_col.set_x_axis({'name': 'Test number'})
chart_col.set_y_axis({'name':  'Sample length (mm)'})
# 设置图表的风格
chart_col.set_style(1)
# 把图表插入到worksheet并设置偏移
worksheet.insert_chart('A10', chart_col, {'x_offset': 25, 'y_offset': 10})
workbook.close()


当然的对于画柱状图,饼图等都是类似的,我们也就不再重复了。

下一次,我们就来实现根据已有的数据,如何自动生成我们需要的图表,而且如果我想自动发送给某些人呢,能不能全程自动化搞定呢!

好了,今天就分享到这里,原创不易,给个“在看”再走吧!

相关文章
|
21天前
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。
|
8天前
|
数据安全/隐私保护 Python
python之自动化进入CSDN
python之自动化进入CSDN
15 0
|
18天前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
37 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
3天前
|
JSON 测试技术 持续交付
自动化测试与脚本编写:Python实践指南
自动化测试与脚本编写:Python实践指南
10 1
|
5天前
|
数据采集 机器学习/深度学习 搜索推荐
Python自动化:关键词密度分析与搜索引擎优化
Python自动化:关键词密度分析与搜索引擎优化
|
8天前
|
Python
python读写操作excel日志
主要是读写操作,创建表格
18 2
|
17天前
|
运维 监控 网络安全
自动化运维的魔法:如何用Python简化日常任务
【10月更文挑战第9天】在数字时代的浪潮中,运维人员面临着日益增长的挑战。本文将揭示如何通过Python脚本实现自动化运维,从而提高效率、减少错误,并让运维工作变得更具创造性。我们将探索一些实用的代码示例,这些示例将展示如何自动化处理文件、监控系统性能以及管理服务器配置等常见运维任务。准备好让你的运维工作升级换代了吗?让我们开始吧!
|
20天前
|
索引 Python
Excel学习笔记(一):python读写excel,并完成计算平均成绩、成绩等级划分、每个同学分数大于70的次数、找最优成绩
这篇文章是关于如何使用Python读取Excel文件中的学生成绩数据,并进行计算平均成绩、成绩等级划分、统计分数大于70的次数以及找出最优成绩等操作的教程。
48 0
|
6月前
|
存储 数据处理 索引
Python操作Excel常用方法汇总
Python操作Excel常用方法汇总
255 0
|
6月前
|
Python
补充python操作excel示例xlwings常用函数
补充python操作excel示例xlwings常用函数
151 0