十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Python使用openpyxl自动化处理Excel数据与文件详解

Python使用openpyxl自动化处理Excel数据与文件详解 使用自动化处理Excel数据与文件详解那个叫做作者的, 在2026年3月6日9时18分20秒那会儿更了新一番时间之处所呈现内容标记性的体现。职场里Excel绝对是极为关键的数据处理工具当中的一个, 本文会给大伙详尽介绍去操作Excel的利器库, 借此达成办公自动化, 感兴趣的小伙伴能够去了解一番。身处于职场范围之内, Excel绝对是最为关键核心的数据处理工具当中的一个。可是呢, 面临那每周、每日都需要去重复进行的数据录入, 以及报表汇总, 还包括格式调整这些工作, 依靠人工来操作的话, 不但效率非常低下, 而且极其容易出现差错。进入到我们所制定的学习计划的第四阶段也就是第36天至50天这个时间段, 我们的核心目标是要让机器人学会“读写算”, 能够以高效的方式去处理Excel、PDF、CSV等这类常见的办公文档。本阶段开篇之作是本文, 它会深度聚焦于操作Excel的利器, 也就是库, 带你从零基础出发, 掌握这样一些全套技能, 包括读写单元格, 应用公式, 美化样式, 管理工作表, 乃至创建动态图表。一、 为什么是—— 自动化办公的第一选择于生态里, 有着诸多可操作Excel的库, 像xlrd/xlwt等等。然而要是你所要处理的为现代Excel文件, 也就是.xlsx格式的, 并且期望在留存原有格式的状况下展开读写操作, 甚至对图表以及样式予以操作, 那无疑是最佳的通用选择。核心优势在开启我们那个名为“读写算”的进程之前, 务必要先保证你的所处环境里边已经安装了那个库。把终端给打开, 输入下面这样的命令:pip install openpyxl二、 核心概念工作簿、工作表、单元格在着手进行编码以前, 对于要理解的三个最为关键的层级来说, 是极为重要的。你能够将Excel文件视作是一本由好多页纸张所构成的账本。我们针对Excel所开展的全部操作, 从本质上来说, 皆是借助创建或者加载一个对象, 接着于其中获取特定的, 最终针对里面的Cell进行读写操作或者样式方面的设置。三、对于读写单元格以及公式应用而言, 要达成学会“读写”这一目标, 其中3.1部分是读取Excel数据, 其目的为要使得能够“看懂”表格。假定存在一个已然存在的Excel文件名为“销售数据.xlsx”, 我们是需要去读取当中的数据。用来读取的起始点乃是使用()函数。from openpyxl import load_workbook # 1. 加载工作簿 workbook load_workbook(销售数据.xlsx) # 2. 获取工作表 (通过名称或活动表) # sheet workbook[Sheet1] # 通过名称 sheet workbook.active # 获取当前活动的工作表 # 3. 读取特定单元格的值 cell_a1 sheet[A1].value print(fA1单元格的内容是{cell_a1}) # 或者使用cell方法指定行和列 (行和列索引都从1开始) cell_b2 sheet.cell(row2, column2).value print(fB2单元格的内容是{cell_b2}) # 4. 遍历整个工作表的数据 print(--- 工作表全部数据 ---) for row in sheet.iter_rows(values_onlyTrue): # values_onlyTrue直接返回值而不是cell对象 print(row) # 操作完成后记得关闭工作簿释放资源 workbook.close()应用场景: 此代码, 你能把它嵌入到, 每日的数据汇总任务里, 它会自动从, 多个部门送来的Excel之中, 提取关键指标, 而不用手动去打开, 每个文件进行查看。3.2 写入数据与公式让“填写”报表光是读取并不够, 我们更要自动生成报表。接着, 我们会创建一个新的工作簿, 然后写入销售数据。与此同时, 我们会展示怎样写入Excel公式, 以使Excel自动计算“总价”, 达成“算”的功能。from openpyxl import Workbook # 1. 创建一个新的工作簿 workbook Workbook() sheet workbook.active sheet.title 手机销售数据 # 重命名工作表 # 2. 写入表头 headers [销售员, 产品, 销量, 单价, 总价] sheet.append(headers) # append方法可以方便地添加一行数据 # 3. 写入原始数据 (销量和单价) raw_data [ [张三, iPhone 15, 10, 6000], [李四, 小米14, 15, 4000], [王五, 华为Mate 60, 8, 7000], ] for row_data in raw_data: sheet.append(row_data) # 4. 写入公式 (计算总价) # 总价 销量 * 单价。对于第一行数据销量在C2单元格单价在D2单元格所以公式是 C2*D2 sheet[E2] C2*D2 sheet[E3] C3*D3 sheet[E4] C4*D4 # 为了让效果更明显我们也可以使用循环批量写入公式 # for i in range(2, 5): # sheet[fE{i}] fC{i}*D{i} # 5. 保存工作簿 workbook.save(手机销售报表_生成.xlsx) print(报表生成成功)去运行这段代码, 随后你们就会发现在所生成的 Excel 文件里面, “总价”那一列已然自动计算出了准确无误的结果。这恰恰就是“读写算”之中“算”这个方面的初步呈现。借助写入公式的方式, 我们让 Excel 引擎去承担了计算方面的工作, 既要做到准确, 又得体现出高效。四、美化样式——告别千篇一律的“黑白表格”数据已填充完毕, 然而一张具备专业性的报表还需要拥有清晰的格式。手动去设置字体、对齐方式以及背景色, 这不但枯燥乏味, 而且很难确保每次报表的风格保持一致。有强大的模块被提供了, 来替我们完成美化工作。from openpyxl import Workbook from openpyxl.styles import Font, PatternFill, Border, Side, Alignment # 创建工作簿和数据 workbook Workbook() sheet workbook.active sheet.title 销售数据报表 # 准备数据 headers [产品名称, 销量, 单价, 总价] data [ [键盘, 100, 120.00], [鼠标, 150, 80.50], [显示器, 50, 1200.00], ] sheet.append(headers) for row in data: # 先添加数据总价列稍后用公式填充 sheet.append(row) # 添加总价公式 sheet[D2] B2*C2 sheet[D3] B3*C3 sheet[D4] B4*C4 # ----- 开始美化 ----- # 1. 设置标题行样式加粗、蓝色字体、黄色背景、居中 header_font Font(name微软雅黑, boldTrue, size12, color000000FF) # 蓝色 header_fill PatternFill(start_colorFFFF00, end_colorFFFF00, fill_typesolid) # 黄色 header_alignment Alignment(horizontalcenter, verticalcenter) for cell in sheet[1]: # 遍历第一行的所有单元格 cell.font header_font cell.fill header_fill cell.alignment header_alignment # 2. 为数据区域添加边框 thin_border Border( leftSide(stylethin), rightSide(stylethin), topSide(stylethin), bottomSide(stylethin) ) for row in sheet.iter_rows(min_row1, max_rowsheet.max_row, min_col1, max_colsheet.max_column): for cell in row: cell.border thin_border # 3. 设置货币格式 (单价和总价列) from openpyxl.styles import numbers for row in range(2, sheet.max_row 1): sheet[fC{row}].number_format numbers.FORMAT_CURRENCY_CN # 人民币格式 sheet[fD{row}].number_format numbers.FORMAT_CURRENCY_CN # 4. 调整列宽 sheet.column_dimensions[A].width 20 sheet.column_dimensions[B].width 10 sheet.column_dimensions[C].width 15 sheet.column_dimensions[D].width 15 workbook.save(手机销售报表_美化.xlsx) print(美化完成)以上代码, 助力我们对字体、背景色、边框以及数字格式进行了批量设置, 整个过程具备完全自动化特性, 能够确保每个月的报表风格保持完全相同, 使得专业度在瞬间得以显著提升。五、实施工作表的操作与之进行创建图表的行为, 促使数据达成“可视化”, 5.1对工作表予以管理。由于业务复杂度有所提升, 一个处于工作状态的簿册里常常含有多个用于工作记录的表单。这使得我们能够如同在操作常用办公软件Excel那般, 针对这些表单展开创建、复制以及删除等操作。from openpyxl import Workbook workbook Workbook() # 默认会有一个名为Sheet的工作表 # 1. 创建新工作表 sheet1 workbook.create_sheet(产品销售) # 默认插在最后 sheet2 workbook.create_sheet(销售员绩效, 0) # 指定位置插在第一个索引0 # 2. 获取所有工作表名称 print(workbook.sheetnames) # 输出: [销售员绩效, Sheet, 产品销售] # 3. 删除工作表 del workbook[Sheet] # 删除默认的工作表 # 4. 复制工作表 if 产品销售 in workbook.sheetnames: source_sheet workbook[产品销售] # 复制的工作表会自动命名如产品销售 Copy workbook.copy_worksheet(source_sheet) print(workbook.sheetnames) # 输出: [销售员绩效, 产品销售, 产品销售 Copy] workbook.save(工作表操作示例.xlsx)这一功能在需要根据模板批量生成报表时非常实用 。5.2 创建图表数据可视化很难让人一眼就看出趋势的是枯燥的数字, 支持在Excel中直接嵌入比如柱状图、折线图等之类的图表, 下面, 我们依据前面的销售数据, 去创建一个销售额的柱状图。from openpyxl import load_workbook from openpyxl.chart import BarChart, Reference # 加载我们之前美化过的文件 workbook load_workbook(手机销售报表_美化.xlsx) sheet workbook[销售数据报表] # 1. 创建一个柱状图对象 chart BarChart() chart.title 产品销售额分析 chart.x_axis.title 产品名称 chart.y_axis.title 销售额元 # 2. 定义数据和分类的范围 # 数据总价列的数据 (D2:D4) data Reference(sheet, min_col4, min_row2, max_row4) # 分类产品名称列 (A2:A4) 作为X轴的标签 categories Reference(sheet, min_col1, min_row2, max_row4) # 3. 将数据和分类添加到图表 chart.add_data(data, titles_from_dataFalse) # titles_from_dataFalse表示数据区域不包含标题 chart.set_categories(categories) # 4. 将图表插入到工作表例如E1单元格的位置 sheet.add_chart(chart, E1) workbook.save(手机销售报表_含图表.xlsx) print(图表创建成功)要是你把生成的Excel文件给打开, 那么你就会瞧见, 在表格的旁边已然呈现出了一个直观的柱状图。图表会跟着源数据的变化而自动去更新。经由循环, 我们甚至能够一次性给多个数据列创建出多个图表来。这就意味着, 我们不但能够让机器人做到“读写算”, 而且还能够让其产出具备洞察力的可视化报告。六、 实战技巧使用模板与注意事项为了实现高于95分的高质量自动化, 我们还得掌握某些高级技巧。6.1 高效使用模板于实际企业运用当中, 更为常见的举措并非借由代码自起始构建报表, 而是依托一个已然设计好的模板予以填充, 这般去做所具备的益处是:实现步骤采用这种途径, 将模板里的全部样式以及静态公式得以相当完美地留存下来, 这是形成并且产生周报、月报的标准方式。6.2 避坑指南七、 总结历经对本文丝丝入扣的深度剖析, 我们自起始之零, 彻彻底底地全程贯通了自动化Excel的四大关键核心步骤:有关运用自动化来处理Excel数据以及文件详细解析的这篇文章, 到这儿就介绍完了。有关Excel内容的更多相关探讨, 可去搜索脚本之家以往的文章瞧瞧, 或者接着浏览下面的相关文章。希望大家往后能多多支持脚本之家
返回列表