Python自动化办公:零基础教你用Python一键生成Excel图表

张开发
2026/5/19 10:48:28 15 分钟阅读
Python自动化办公:零基础教你用Python一键生成Excel图表
目录Python自动化办公零基础教你用Python一键生成Excel图表引言准备工作核心实战分步指南第一步创建Excel工作簿并写入数据第二步引入图表模块第三步创建图表对象并配置数据源第四步将图表插入到工作表并保存完整代码示例常见避坑指南进阶资源与结语专栏导读 欢迎来到Python办公自动化专栏—Python处理办公问题解放您的双手️‍ 个人博客主页请点击—— 个人的博客主页 求收藏️‍ Github主页请点击—— Github主页 求Star⭐️‍ 知乎主页请点击—— 知乎主页 求关注️‍ CSDN博客主页请点击—— CSDN的博客主页 求关注 该系列文章专栏请点击——Python办公自动化专栏 求订阅 此外还有爬虫专栏请点击——Python爬虫基础专栏 求订阅 此外还有python基础专栏请点击——Python基础学习专栏 求订阅文章作者技术和水平有限如果文中出现错误希望大家能指正❤️ 欢迎各位佬关注 ❤️Python自动化办公零基础教你用Python一键生成Excel图表引言在日常办公和数据分析中Excel图表是我们展示数据最直观的工具。然而当面对每天、每周重复性的报表制作时手动框选数据、插入图表、调整格式不仅耗时还容易出错。这正是Python发挥其“自动化魔法”的绝佳场景。通过Python我们可以编写一段简短的代码让计算机自动读取数据、生成精美的图表并保存为Excel文件。不仅效率极高而且生成的图表是原生的Excel图表意味着你打开Excel后依然可以手动修改它。本文专为零基础编程新手设计。我们将系统地带你了解如何使用Python在Excel中制作柱状图告别繁琐的手工操作。准备工作在开始写代码之前我们需要准备好开发环境。安装Python请确保你的电脑上已经安装了Python建议版本3.8及以上。你可以从Python官网下载并安装。安装第三方库openpyxlopenpyxl是Python中操作Excel文件.xlsx最流行且最易学的库之一。它完美支持读取、写入以及创建图表。打开你的终端Windows的cmd/PowerShell或Mac的Terminal输入以下命令并回车pipinstallopenpyxl核心实战分步指南我们将通过一个具体的业务场景来学习为一家公司的“第一季度各产品销量”制作一张柱状图。第一步创建Excel工作簿并写入数据首先我们需要用Python创建一个新的Excel文件并在里面填入我们的基础数据。fromopenpyxlimportWorkbook# 1. 创建一个新的工作簿和默认工作表wbWorkbook()wswb.active ws.title第一季度销量# 2. 准备我们的数据表头 数据行data[[产品名称,一月销量,二月销量,三月销量],[产品A,150,200,250],[产品B,120,180,210],[产品C,300,250,220],]# 3. 将数据逐行写入工作表forrowindata:ws.append(row)第二步引入图表模块在openpyxl中图表功能是由特定的模块负责的。为了画柱状图我们需要引入BarChart柱状图和Reference数据引用范围。fromopenpyxl.chartimportBarChart,Reference第三步创建图表对象并配置数据源这一步是核心。我们需要告诉图表两件事数据在哪里数字以及类别标签在哪里产品A、B、C。# 1. 创建柱状图对象chartBarChart()chart.title第一季度产品销量对比图chart.y_axis.title销量 (件)chart.x_axis.title产品名称# 2. 定义数据范围 (Reference)# 数据包含了第2列到第4列一月到三月第1行到第4行data_refReference(ws,min_col2,min_row1,max_col4,max_row4)# 3. 定义类别标签范围 (X轴显示的文字)# 标签在第1列产品名称第2行到第4行cats_refReference(ws,min_col1,min_row2,max_row4)# 4. 将数据和标签添加到图表中# titles_from_dataTrue 表示将数据范围的第一行一月销量等作为图例名称chart.add_data(data_ref,titles_from_dataTrue)chart.set_categories(cats_ref)第四步将图表插入到工作表并保存图表配置好后它还只是存在于内存中。我们需要把它放在Excel表格的具体位置并将文件保存到电脑上。# 将图表插入到 E6 单元格的位置ws.add_chart(chart,E6)# 保存为真正的Excel文件wb.save(sales_chart.xlsx)print(Excel图表生成成功)完整代码示例为了方便你复制和练习这里将上面的步骤整合成一段完整的、可直接运行的代码fromopenpyxlimportWorkbookfromopenpyxl.chartimportBarChart,Referencedefcreate_excel_chart():# 1. 初始化工作簿与数据wbWorkbook()wswb.active ws.title第一季度销量data[[产品名称,一月销量,二月销量,三月销量],[产品A,150,200,250],[产品B,120,180,210],[产品C,300,250,220],]forrowindata:ws.append(row)# 2. 创建柱状图并设置标题chartBarChart()chart.title第一季度产品销量对比图chart.style10# 设置图表的内置样式chart.y_axis.title销量 (件)chart.x_axis.title产品名称# 3. 框选数据和标签范围# 数据从第2列到第4列第1行到第4行data_refReference(ws,min_col2,min_row1,max_col4,max_row4)# 标签第1列第2行到第4行cats_refReference(ws,min_col1,min_row2,max_row4)# 4. 绑定数据到图表chart.add_data(data_ref,titles_from_dataTrue)chart.set_categories(cats_ref)# 5. 插入图表并保存文件ws.add_chart(chart,E6)wb.save(sales_chart.xlsx)print(自动化任务完成sales_chart.xlsx 已生成)if__name____main__:create_excel_chart()运行这段代码后你的文件夹里会出现一个sales_chart.xlsx文件。打开它你会看到漂亮且规范的柱状图常见避坑指南对于刚接触Python操作Excel的新手以下几个坑请务必避开PermissionError (权限拒绝报错)这是最常见的新手错误如果你在运行Python代码时正在用Excel软件打开着那个目标文件例如sales_chart.xlsxPython会因为无法获取写入权限而报错。解决办法每次运行代码前请确保关闭对应的Excel文件。行列索引从 1 开始在Python的常规列表或数组中索引是从0开始的。但在openpyxl中为了和Excel的习惯保持一致行和列的索引都是从1开始的A列1第一行1。在设置Reference范围时千万不要写错。图表样式的选择chart.style 10代表使用了Excel内置的第10套图表配色方案。你可以尝试修改为1到48之间的任意数字探索不同的视觉效果。进阶资源与结语恭喜你你已经成功掌握了使用Python制作原生Excel图表的基础技能。这不仅能帮你省下大量复制粘贴的时间还为你打开了自动化办公的大门。当你熟悉了openpyxl之后如果你希望处理百万级的数据或者进行更复杂的数据分析建议你了解以下进阶资源openpyxl 官方文档学习如何制作折线图 (LineChart)、饼图 (PieChart) 以及散点图 (ScatterChart)。Pandas 库Python数据分析领域的王者配合XlsxWriter引擎可以实现极速的数据清洗并一键输出带图表的报表。行动起来吧复制上面的完整代码在你的电脑上运行一次亲眼见证Python为你自动绘制出第一张Excel图表。这就是你迈向“办公自动化达人”的第一步结尾希望对初学者有帮助致力于办公自动化的小小程序员一枚希望能得到大家的【❤️一个免费关注❤️】感谢求个 关注 ❤️ 喜欢 ❤️ 收藏 此外还有办公自动化专栏欢迎大家订阅Python办公自动化专栏此外还有爬虫专栏欢迎大家订阅Python爬虫基础专栏此外还有Python基础专栏欢迎大家订阅Python基础学习专栏

更多文章