Python之openpyxl读写 Excel 文件教程

目录

        • [1. 安装 openpyxl](#1. 安装 openpyxl)
        • [2. 创建一个新的 Excel 文件](#2. 创建一个新的 Excel 文件)
        • [3. 读取 Excel 文件](#3. 读取 Excel 文件)
          • [ws.iter_rows 方法参数解释](#ws.iter_rows 方法参数解释)
        • [4. 修改 Excel 文件](#4. 修改 Excel 文件)
        • [5. 添加样式](#5. 添加样式)
        • [6. 删除行和列](#6. 删除行和列)
        • 小结

openpyxl 是一个用于读写 Excel 文件的 Python 库。以下是一些基本用法,包括创建、读取、修改和保存 Excel 文件。

1. 安装 openpyxl

如果你还没有安装 openpyxl,可以使用以下命令进行安装:

bash 复制代码
pip install openpyxl
2. 创建一个新的 Excel 文件

下面的示例展示了如何创建一个新的 Excel 文件并添加数据:

python 复制代码
from openpyxl import Workbook

# 创建一个工作簿
wb = Workbook()

# 选择活动工作表
ws = wb.active
ws.title = "Sheet1"

# 添加数据
ws['A1'] = "姓名"
ws['B1'] = "年龄"
ws['A2'] = "张三"
ws['B2'] = 28
ws['A3'] = "李四"
ws['B3'] = 34

# 保存文件
wb.save("new_file.xlsx")
print("新文件 'new_file.xlsx' 创建成功!")
3. 读取 Excel 文件

读取现有的 Excel 文件也是很简单的。以下是一个示例:

python 复制代码
from openpyxl import load_workbook

# 加载工作簿
wb = load_workbook("new_file.xlsx")

# 选择工作表
ws = wb["Sheet1"]

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

这个示例将输出 new_file.xlsxSheet1 工作表的前两列数据。

ws.iter_rows 方法参数解释

ws.iter_rows 方法用于遍历工作表中的行,其参数用于控制遍历的范围和输出格式。以下是常用参数的解释:

  1. min_row : 指定开始遍历的行号(默认是 1)。例如,min_row=2 将从第二行开始读取。

  2. max_row : 指定结束遍历的行号(默认是工作表的最后一行)。例如,max_row=10 将只读取前十行。

  3. min_col : 指定开始遍历的列号(默认是 1)。例如,min_col=2 将从第二列开始读取。

  4. max_col : 指定结束遍历的列号(默认是工作表的最后一列)。例如,max_col=3 将只读取前两列。

  5. values_only : 如果设置为 True,将只返回单元格的值,而不是单元格对象。这样可以更方便地处理数据。

4. 修改 Excel 文件

你可以更新单元格的内容并保存文件:

python 复制代码
# 更新单元格
ws['B2'] = 30  # 修改张三的年龄

# 保存更新
wb.save("new_file.xlsx")
print("文件 'new_file.xlsx' 已更新!")
5. 添加样式

openpyxl 还允许你为单元格添加样式,例如字体和填充颜色:

python 复制代码
from openpyxl.styles import Font, PatternFill

# 设置字体样式
font = Font(bold=True, color="FF0000")  # 红色加粗字体
ws['A1'].font = font

# 设置填充颜色
fill = PatternFill(start_color="FFFF00", end_color="FFFF00", fill_type="solid")  # 黄色填充
ws['A1'].fill = fill

# 保存文件
wb.save("new_file.xlsx")
print("样式已应用并保存!")
6. 删除行和列

你可以轻松删除 Excel 文件中的行和列:

python 复制代码
# 删除第二行
ws.delete_rows(2)

# 删除第一列
ws.delete_cols(1)

# 保存文件
wb.save("new_file.xlsx")
print("已删除行和列,并保存文件!")
小结

通过 openpyxl,你可以轻松地创建、读取、更新和格式化 Excel 文件。这个库非常适合需要处理 Excel 数据的各种任务。

相关推荐
LeonDL16810 分钟前
HALCON 深度学习训练 3D 图像的几种方式优缺点
人工智能·python·深度学习·3d·halcon·halcon训练3d图像·深度学习训练3d图像
在成都搬砖的鸭鸭20 分钟前
【Golang】使用gin框架导出excel和csv文件
golang·excel·gin
慧都小妮子1 小时前
跨平台浏览器集成库JxBrowser 支持 Chrome 扩展程序,高效赋能 Java 桌面应用
开发语言·python·api·jxbrowser·chrome 扩展程序
tanyyinyu2 小时前
Python函数参数详解:从位置参数到灵活调用的艺术
运维·开发语言·python
qq_214782612 小时前
mac下通过anaconda安装Python
python·macos·jupyter
junyuz3 小时前
Dify docker内网部署常见问题记录
python·docker
@HNUSTer4 小时前
Python数据可视化科技图表绘制系列教程(一)
python·数据可视化·科技论文·专业制图·科研图表
reasonsummer4 小时前
【办公类-48-04】202506每月电子屏台账汇总成docx-5(问卷星下载5月范围内容,自动获取excel文件名,并转移处理)
python·excel
AmazingKO4 小时前
5分钟申请edu邮箱【方案本周有效】
python·chatgpt·ai编程·竹相左边·edu教育邮箱