python文件操作相关(excel)

python文件操作相关(excel)

  • [1. openpyxl 库](#1. openpyxl 库)
  • [2. pandas 库](#2. pandas 库)
  • [3. xlrd 和 xlwt 库](#3. xlrd 和 xlwt 库)
  • [4. xlsxwriter 库](#4. xlsxwriter 库)
  • [5. pyxlsb 库](#5. pyxlsb 库)
  • 应用场景
  • 参考资料

在 Python 中,操作 Excel 文件通常使用 openpyxl、pandas 和 xlrd/xlwt 等库

  • openpyxl:适合读写 .xlsx 文件,支持高级功能
  • pandas:适合数据分析和处理,支持读写 .xlsx 和 .xls 文件
  • xlrd/xlwt:适合读写旧版 .xls 文件
  • xlsxwriter:适合创建复杂的 .xlsx 文件
  • pyxlsb:适合读取 .xlsb 文件

1. openpyxl 库

openpyxl 是一个专门用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的库,它支持 Excel的高级功能,如公式、图表、样式等

主要功能

  • 读取 Excel 文件:加载 Excel 文件并读取数据
  • 写入 Excel 文件:创建或修改 Excel 文件并保存
  • 操作工作表:添加、删除、重命名工作表
  • 单元格操作:读取、写入、修改单元格内容
  • 样式设置:设置单元格的字体、颜色、边框等样式。
python 复制代码
from openpyxl import Workbook, load_workbook

# 创建一个新的 Excel 文件
wb = Workbook()
ws = wb.active
ws.title = "Sheet1"

# 写入数据
ws['A1'] = "Name"
ws['B1'] = "Age"
ws['A2'] = "Alice"
ws['B2'] = 25
ws['A3'] = "Bob"
ws['B3'] = 30

# 保存文件
wb.save("example.xlsx")

# 读取 Excel 文件
wb = load_workbook("example.xlsx")
ws = wb["Sheet1"]

# 读取单元格数据
for row in ws.iter_rows(min_row=1, max_col=2, max_row=3, values_only=True):
    print(row)

2. pandas 库

pandas 是一个强大的数据分析库,支持读取和写入 Excel 文件。它通常用于处理结构化数据,如表格数据

主要功能

  • 读取 Excel 文件:将 Excel 文件加载为 DataFrame
  • 写入 Excel 文件:将 DataFrame 保存为 Excel 文件
  • 数据处理:支持数据筛选、排序、聚合等操作
  • 多工作表操作:支持读取和写入多个工作表
python 复制代码
import pandas as pd

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

# 数据处理
df['Age'] = df['Age'] + 1  # 将年龄加 1
print(df)

# 写入 Excel 文件
df.to_excel("modified_example.xlsx", index=False)

3. xlrd 和 xlwt 库

xlrd 用于读取 Excel 文件(仅支持旧版 .xls 格式),xlwt 用于写入 Excel 文件(仅支持旧版 .xls 格式)

主要功能

  • 读取 Excel 文件:xlrd 可以读取 .xls 文件的内容
  • 写入 Excel 文件:xlwt 可以创建或修改 .xls 文件
python 复制代码
import xlrd
import xlwt

# 读取 Excel 文件
workbook = xlrd.open_workbook("example.xls")
sheet = workbook.sheet_by_index(0)
for row in range(sheet.nrows):
    print(sheet.row_values(row))

# 写入 Excel 文件
workbook = xlwt.Workbook()
sheet = workbook.add_sheet("Sheet1")
sheet.write(0, 0, "Name")
sheet.write(0, 1, "Age")
sheet.write(1, 0, "Alice")
sheet.write(1, 1, 25)
workbook.save("example.xls")

4. xlsxwriter 库

xlsxwriter 一个专门用于写入 Excel 文件的库,支持创建复杂的 Excel 文件,如添加图表、公式、条件格式等

主要功能

  • 创建 Excel 文件:支持创建 .xlsx 文件
  • 高级功能:支持图表、公式、条件格式、数据验证等
  • 样式设置:支持设置单元格样式
python 复制代码
import xlsxwriter

# 创建一个新的 Excel 文件
workbook = xlsxwriter.Workbook('example.xlsx')
worksheet = workbook.add_worksheet('Sheet1')

# 写入数据
worksheet.write('A1', 'Name')
worksheet.write('B1', 'Age')
worksheet.write('A2', 'Alice')
worksheet.write('B2', 25)

# 添加图表
chart = workbook.add_chart({'type': 'column'})
chart.add_series({'values': '=Sheet1!B2:B2'})
worksheet.insert_chart('D2', chart)

# 保存文件
workbook.close()

5. pyxlsb 库

pyxlsb 用于读取 Excel 二进制文件(.xlsb 格式)

主要功能

  • 读取 .xlsb** 文件**:支持读取 Excel 二进制文件
python 复制代码
from pyxlsb import open_workbook

# 读取 Excel 二进制文件
with open_workbook('example.xlsb') as wb:
    with wb.get_sheet(1) as sheet:
        for row in sheet.rows():
            print([item.v for item in row])

应用场景

  • 数据导入导出:将数据库或其他数据源的数据导出为 Excel 文件,或从 Excel 文件中导入数据
  • 报表生成:使用 openpyxl 或 xlsxwriter 生成带有图表和样式的报表
  • 数据分析:使用 pandas 对 Excel 文件中的数据进行清洗、分析和可视化
  • 自动化任务:批量处理多个 Excel 文件,如合并、拆分、格式转换等

参考资料

相关推荐
动感光博10 分钟前
Unity(URP渲染管线)的后处理、动画制作、虚拟相机(Virtual Camera)
开发语言·人工智能·计算机视觉·unity·c#·游戏引擎
lichuangcsdn33 分钟前
【springcloud学习(dalston.sr1)】Eureka 客户端服务注册(含源代码)(四)
学习·spring cloud·eureka
诸葛大钢铁44 分钟前
如何免费在线PDF转换成Excel
职场和发展·pdf·excel
ZWaruler1 小时前
二: 字典及函数的使用
python
蚰蜒螟1 小时前
深入解析JVM字节码解释器执行流程(OpenJDK 17源码实现)
开发语言·jvm·python
keke101 小时前
Java【14_2】接口(Comparable和Comparator)、内部类
java·开发语言
思茂信息1 小时前
CST软件对OPERA&CST软件联合仿真汽车无线充电站对人体的影响
c语言·开发语言·人工智能·matlab·汽车·软件构建
墨绿色的摆渡人1 小时前
pytorch小记(二十):深入解析 PyTorch 的 `torch.randn_like`:原理、参数与实战示例
人工智能·pytorch·python
CN.LG1 小时前
Java 乘号来重复字符串的功能
java·开发语言
川川菜鸟1 小时前
2025长三角数学建模C题完整思路
c语言·开发语言·数学建模