在Python中读写XLSX文件的高效实现方案

远山来客
远山来客
发布时间:2026-10-10| 3人浏览过
原创

在Python数据分析与自动化办公场景中,.xlsx格式的读写是高频需求。目前业界主要采用openpyxl和pandas两大生态库。openpyxl偏向底层API操作,适合精细化的单元格管理与格式调整;pandas则以高性能DataFrame为核心,适用于大规模数据的批量导入导出与复杂计算。本文将按实际操作顺序,系统讲解这两种工具的配置路径与完整用法。

基础环境配置与读写演示

第1步:安装必要的Python依赖包

在终端或命令行中执行以下指令完成库的安装。若使用pandas导出Excel,需同时安装其驱动引擎。

pip install openpyxl
pip install pandas openpyxl

第2步:利用 openpyxl 进行基础操作

该库通过Workbook对象直接映射Excel文件结构。写入时支持按单元格坐标赋值,读取时推荐迭代器模式遍历行数据。

from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws['A1'] = "姓名"
ws['B1'] = "年龄"
ws['A2'] = "张三"
ws['B2'] = 25
wb.save("example.xlsx")
from openpyxl import load_workbook
wb = load_workbook("example.xlsx")
ws = wb.active
for row in ws.iter_rows(values_only=True):
    print(row)

第3步:利用 pandas 进行基础操作

Pandas内置了强大的数据结构,一行代码即可完成整表导出或读取。

import pandas as pd
# 写入文件
data = {'姓名': ['张三', '李四'], '年龄': [25, 30]}
df = pd.DataFrame(data)
df.to_excel("example.xlsx", index=False)

# 读取文件
df = pd.read_excel("example.xlsx")
print(df)

生产环境高级应用

第4步:处理海量XLSX文件

当文件体积超过几百兆时,全量加载会导致内存溢出。针对此场景可采用策略性优化:

  • Openpyxl 只读模式:加载时开启read_only=True,配合逐行打印避免驻留过多对象至内存。
  • Pandas 分块读取:设置chunksize参数限制每次加载行数,适合流式处理日志类表格。
# Openpyxl 优化写法
wb = load_workbook("large_file.xlsx", read_only=True)
for row in wb.active.iter_rows(values_only=True):
    print(row)

# Pandas 优化写法
chunk_size = 1000
for chunk in pd.read_excel("large_file.xlsx", chunksize=chunk_size):
    print(chunk)

第5步:精细化格式控制与多表管理

实际报表往往要求表头加粗居中对齐,或包含多个独立Sheet。可通过样式模块与索引命名精准控制:

from openpyxl.styles import Font, Alignment
wb = Workbook()
ws = wb.active
ws['A1'].font = Font(bold=True)
ws['A1'].alignment = Alignment(horizontal="center")
wb.save("formatted.xlsx")

# 多工作表读写示例
wb = Workbook()
ws1 = wb.create_sheet("Sheet1")
ws2 = wb.create_sheet("Sheet2")
ws1['A1'] = "Sheet1数据"
ws2['A1'] = "Sheet2数据"
wb.save("multi_sheet.xlsx")

# 读取指定工作表
wb = load_workbook("multi_sheet.xlsx")
target_ws = wb["Sheet2"]
print(target_ws['A1'].value)

总结

以上就是Python读写XLSX文件的高效实现方案的详细内容,更多关于数据交互与办公自动化的资料请关注本站其它相关文章!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。