在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实现简易Web爬虫详解

    Python实现简易Web爬虫详解

    这篇文章主要介绍了Python实现简易Web爬虫详解,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法

    python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法

    这篇文章主要介绍了python根据完整路径获得盘名,路径名,文件名,文件扩展名的代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • 如何基于python操作json文件获取内容

    如何基于python操作json文件获取内容

    这篇文章主要介绍了如何基于python操作json文件获取内容,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Python写一个简单的在线编辑器

    Python写一个简单的在线编辑器

    这篇文章主要介绍了如何利用Python写一个简单的在线编辑器,主要通过pywebio程序,实现了Python的简陋在线编辑器,需要的小伙伴可以参考一下,希望对你有所帮助
    2022-02-02
  • 详解Python中的Dict(下篇)

    详解Python中的Dict(下篇)

    这篇文章主要为大家介绍了Python中的Dict,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • 浅谈pandas.cut与pandas.qcut的使用方法及区别

    浅谈pandas.cut与pandas.qcut的使用方法及区别

    这篇文章主要介绍了浅谈pandas.cut与pandas.qcut的使用方法及区别,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Python必备技巧之函数的使用详解

    Python必备技巧之函数的使用详解

    这篇文章主要为大家详细介绍了Python中函数的基本使用教程,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-04-04
  • Pycharm5个非常有用的方法技巧

    Pycharm5个非常有用的方法技巧

    这篇文章主要介绍了Pycharm5个非常有用的方法技巧,PyCharm 是一款非常强大的编写 python 代码的工具。掌握一些小技巧能成倍的提升写代码的效率,本篇介绍几个经常使用的小技巧,需要的小伙伴可以参考一下
    2022-07-07
  • python matplotlib坐标轴设置的方法

    python matplotlib坐标轴设置的方法

    本篇文章主要介绍了python matplotlib坐标轴设置的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • Python操作XML文件的使用指南

    Python操作XML文件的使用指南

    我们经常需要解析用不同语言编写的数据,Python 提供了许多第三方库来解析或拆分用其他语言编写的数据,今天我们来学习下 Python XML 解析器的相关功能
    2022-09-09

最新评论