在办公自动化与数据分析中,Excel 文件(特别是 .xlsx 格式)是最常用的数据存储形式之一。
.xlsx 是 Microsoft Excel 2007 及以后版本采用的标准格式,基于 OpenXML 结构,以 ZIP 压缩方式封装 XML 文件和资源。相比旧的 .xls 格式,.xlsx 文件更轻量、更安全、兼容性更强。Python 无法直接解析 Excel 的二进制结构,因此需借助专用库(如 、)进行读写。
一、XLSX 文件的基本结构
.xlsx 文件实际上是一个基于 XML 的压缩包,用于存储工作簿、工作表、单元格及样式等结构化数据。
• 工作簿(Workbook):整个文件对象,包含多个工作表。
• 工作表(Worksheet):每个工作表相当于一个二维表格。
• 单元格(Cell):每个数据格,包含值、公式、样式等属性。
• 行列(Row / Column):由单元格组成的水平或垂直序列。
• 样式(Style):定义字体、颜色、对齐方式、边框等。
二、创建与写入 XLSX 文件
(1)创建工作簿
print("students.xlsx 文件已保存。")• Workbook() 创建新的 Excel 文件。
• ws.append() 可依次写入列表数据。
• 文件默认保存为 .xlsx 格式。
(2)在指定单元格中写入内容
print("info.xlsx 文件已生成。")• 单元格使用 Excel 经典坐标(如 "A1"、"B2")。
• 也可使用 ws.cell(row, column) 动态访问单元格。
三、读取 XLSX 文件
(1)加载工作簿与工作表
print("B2:", ws["B2"].value)输出示例:
B2: 岳露珊(2)遍历所有行列
print(row)输出:
('20253012003', '胡小狮', 90)• values_only=True 表示仅返回值而非单元格对象。
• 可通过 min_row(指定迭代的起始行号)、max_row(指定迭代结束行号)、min_col、max_col 限定范围。
四、修改与追加数据
(1)修改单元格
wb.save("students.xlsx")(2)追加新行
print("已追加新行。")五、数据格式与样式设置
openPyXL 支持多种 Excel 样式设定,包括字体、颜色、对齐、边框等。
print("styled.xlsx 文件已生成。")• Font() 控制字体样式。
• PatternFill() 定义背景色。
• Alignment() 控制居中方式。
• Border() 与 Side() 定义边框样式。
六、与 pandas 的互操作
提供了对 Excel 的高级读写功能,适合数据分析与批量处理。
(1)读取 Excel 文件为 DataFrame
print(df)输出:
3 20253012004 尔理湴 85DataFrame 是 Pandas 库中最核心的数据结构,可以理解为:一个二维的表格型数据结构,类似于 Excel 表格或 SQL 数据库中的表。
(2)写入 DataFrame 至 Excel
print("students_result.xlsx 文件已生成。")• pd.read_excel() 和 .to_excel() 底层默认使用 openPyXL 引擎。
• Pandas 更适合进行数据统计、清洗与导出。
七、综合案例:成绩表生成与统计
以下示例展示从数据生成 Excel 文件 → 设置样式 → 读取分析 → 保存结果的完整流程。
print("scores_with_style.xlsx 文件已生成。")最终生成的文件包含美观的表头与等级统计列,可直接用于报表展示。
小结
在 Python 中,借助 OpenPyXL 可以方便地实现对 .xlsx 文件的创建、读取与修改操作。它既能处理单元格数据,又能设置样式、公式与多表结构,适合从简单报表到复杂数据分析的多种场景。通过合理封装这些操作,Python 程序能够自动化生成统计表、财务表或实验记录,大幅提升办公与科研效率。
![]()
“点赞有美意,赞赏是鼓励”
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.