在办公自动化与数据分析中,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  尔理湴  85

DataFrame 是 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 程序能够自动化生成统计表、财务表或实验记录,大幅提升办公与科研效率。

打开网易新闻 查看精彩图片

点赞有美意,赞赏是鼓励