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 文件,如合并、拆分、格式转换等

参考资料

相关推荐
亿牛云爬虫专家1 小时前
Kubernetes下的分布式采集系统设计与实战:趋势监测失效引发的架构进化
分布式·python·架构·kubernetes·爬虫代理·监测·采集
iCxhust3 小时前
c# U盘映像生成工具
开发语言·单片机·c#
yangzhi_emo3 小时前
ES6笔记2
开发语言·前端·javascript
九年义务漏网鲨鱼4 小时前
【大模型学习 | MINIGPT-4原理】
人工智能·深度学习·学习·语言模型·多模态
emplace_back4 小时前
C# 集合表达式和展开运算符 (..) 详解
开发语言·windows·c#
jz_ddk4 小时前
[学习] C语言数学库函数背后的故事:`double erf(double x)`
c语言·开发语言·学习
萧曵 丶4 小时前
Rust 所有权系统:深入浅出指南
开发语言·后端·rust
xiaolang_8616_wjl4 小时前
c++文字游戏_闯关打怪2.0(开源)
开发语言·c++·开源
收破烂的小熊猫~5 小时前
《Java修仙传:从凡胎到码帝》第四章:设计模式破万法
java·开发语言·设计模式