在python中读写xlsx文件的实现方式

 更新时间:2025年07月29日 10:02:17   作者:高级测试工程师欧阳  
Python中可使用openpyxl或pandas读写XLSX文件,openpyxl适合处理格式及大型文件(支持read_only模式),pandas适用于数据操作与分块读取(通过chunksize参数),两者均可处理多工作表

读写XLSX文件的方法

Python中可以使用openpyxlpandas库来读写XLSX文件。

以下是两种方法的详细说明:

使用openpyxl库

  • 安装openpyxl:
pip install openpyxl
  • 写入XLSX文件:
from openpyxl import Workbook

# 创建工作簿
wb = Workbook()
ws = wb.active

# 写入数据
ws['A1'] = "姓名"
ws['B1'] = "年龄"
ws['A2'] = "张三"
ws['B2'] = 25

# 保存文件
wb.save("example.xlsx")
  • 读取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)

使用pandas库

  • 安装pandas:
pip install pandas openpyxl
  • 写入XLSX文件:
import pandas as pd

# 创建DataFrame
data = {'姓名': ['张三', '李四'], '年龄': [25, 30]}
df = pd.DataFrame(data)

# 写入文件
df.to_excel("example.xlsx", index=False)
  • 读取XLSX文件:
import pandas as pd

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

处理大型XLSX文件

对于大型XLSX文件,可以使用openpyxlread_only模式或pandaschunksize参数:

  • 使用openpyxl读取大型文件:
from openpyxl import load_workbook

# 以只读模式加载
wb = load_workbook("large_file.xlsx", read_only=True)
ws = wb.active

# 逐行读取
for row in ws.iter_rows(values_only=True):
    print(row)
  • 使用pandas分块读取:
import pandas as pd

# 分块读取
chunk_size = 1000
for chunk in pd.read_excel("large_file.xlsx", chunksize=chunk_size):
    print(chunk)

格式化单元格

  • 使用openpyxl格式化单元格:
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")

处理多个工作表

  • 读写多个工作表:
from openpyxl import Workbook

wb = Workbook()

# 创建工作表
ws1 = wb.create_sheet("Sheet1")
ws2 = wb.create_sheet("Sheet2")

# 写入不同工作表
ws1['A1'] = "Sheet1数据"
ws2['A1'] = "Sheet2数据"

wb.save("multi_sheet.xlsx")
  • 读取特定工作表:
from openpyxl import load_workbook

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python 文件和路径操作函数小结

    python 文件和路径操作函数小结

    python 文件和路径操作函数小结,需要开发的朋友可以参考下。
    2009-11-11
  • Python类的继承用法示例

    Python类的继承用法示例

    这篇文章主要介绍了Python类的继承用法,结合实例形式分析了Python类的定义、继承等相关操作技巧,需要的朋友可以参考下
    2019-01-01
  • Python代码执行时间测量模块timeit用法解析

    Python代码执行时间测量模块timeit用法解析

    这篇文章主要介绍了Python代码执行时间测量模块timeit用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • pandas中concatenate和combine_first的用法详解

    pandas中concatenate和combine_first的用法详解

    本文主要介绍了pandas中concatenate和combine_first的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Python 可视化神器Plotly详解

    Python 可视化神器Plotly详解

    这篇文章主要介绍了Python 可视化神器Plotly详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • pytorch无法使用GPU问题的解决方法

    pytorch无法使用GPU问题的解决方法

    这篇文章主要介绍了如何解决pytorch 无法使用GPU 的问题,文中通过代码和图文给大家讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-02-02
  • Pytorch-LSTM输入输出参数方式

    Pytorch-LSTM输入输出参数方式

    这篇文章主要介绍了Pytorch-LSTM输入输出参数方式,具有很好的参考价值,希望对大家有所帮助。
    2022-07-07
  • python中os操作文件及文件路径实例汇总

    python中os操作文件及文件路径实例汇总

    这篇文章主要介绍了python中os操作文件及文件路径,实例汇总了针对文件的各种常用操作技巧,非常具有实用价值,需要的朋友可以参考下
    2015-01-01
  • python实现FTP循环上传文件

    python实现FTP循环上传文件

    这篇文章主要为大家详细介绍了python实现FTP循环上传文件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • 一文读懂python Scrapy爬虫框架

    一文读懂python Scrapy爬虫框架

    这篇文章主要介绍了一文读懂python Scrapy爬虫框架的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02

最新评论