Python 读写 Excel 文件:创建、遍历、更新与样式处理

Excel 是广泛使用的电子表格软件,用于数据存储、分析和可视化。Python 通过第三方库如 openpyxlpandas 提供了丰富的功能来读写 Excel 文件。本文将详细介绍如何使用 Python 进行 Excel 文件的创建、遍历、更新、删除以及样式处理等操作。

1. 安装必要的库

首先,需要安装 openpyxl 库,这是一个用于读写 Excel 文件的库。可以通过 pip 安装:

bash 复制代码
pip install openpyxl
2. 创建 Excel 文件

使用 openpyxl 创建一个新的 Excel 工作簿,并向其中添加数据。

python 复制代码
from openpyxl import Workbook

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

# 获取活动工作表
ws = wb.active
ws.title = "Sheet1"

# 向工作表中添加数据
ws['A1'] = 'Name'
ws['B1'] = 'Age'
ws['C1'] = 'City'

ws.append(['Alice', 30, 'New York'])
ws.append(['Bob', 25, 'Los Angeles'])

# 保存工作簿
wb.save("example.xlsx")
3. 单个表格文件遍历

遍历单个 Excel 文件中的所有数据。

python 复制代码
from openpyxl import load_workbook

# 加载已有的工作簿
wb = load_workbook("example.xlsx")

# 获取工作表
ws = wb.active

# 遍历每一行
for row in ws.iter_rows(values_only=True):
    print(row)
4. 批量表格文件遍历

遍历多个 Excel 文件中的数据。

python 复制代码
import os

# 指定目录路径
directory = "excel_files"

# 遍历目录中的所有 Excel 文件
for filename in os.listdir(directory):
    if filename.endswith(".xlsx"):
        filepath = os.path.join(directory, filename)
        wb = load_workbook(filepath)
        ws = wb.active
        
        # 遍历每一行
        for row in ws.iter_rows(values_only=True):
            print(row)
5. 从指定行列遍历表格

从指定的行和列开始遍历表格数据。

python 复制代码
# 加载工作簿
wb = load_workbook("example.xlsx")
ws = wb.active

# 从第2行第2列开始遍历
for row in ws.iter_rows(min_row=2, min_col=2, values_only=True):
    print(row)
6. 表格数据更新

更新表格中的数据。

python 复制代码
# 加载工作簿
wb = load_workbook("example.xlsx")
ws = wb.active

# 更新单元格数据
ws['B2'] = 31

# 添加新数据
ws.append(['Charlie', 28, 'Chicago'])

# 保存工作簿
wb.save("example.xlsx")
7. 表格数据删除

删除表格中的数据。

python 复制代码
# 加载工作簿
wb = load_workbook("example.xlsx")
ws = wb.active

# 删除第2行
ws.delete_rows(2)

# 保存工作簿
wb.save("example.xlsx")
8. 单元格样式处理

设置单元格的样式,如字体颜色、背景色等。

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

# 加载工作簿
wb = load_workbook("example.xlsx")
ws = wb.active

# 设置单元格字体颜色
ws['A1'].font = Font(color="FF0000")

# 设置单元格背景色
ws['A1'].fill = PatternFill(start_color="FFFF00", end_color="FFFF00", fill_type="solid")

# 保存工作簿
wb.save("example.xlsx")
9. 合并单元格读取

读取合并单元格的数据。

python 复制代码
# 加载工作簿
wb = load_workbook("example.xlsx")
ws = wb.active

# 合并单元格
ws.merge_cells('A1:C1')

# 读取合并单元格的数据
merged_cell = ws.cell(row=1, column=1)
print(merged_cell.value)
10. 示例:完整的 Excel 文件读写与更新

下面是一个完整的示例,演示如何读取 Excel 文件、更新数据并重新写入文件:

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

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

# 添加数据
ws['A1'] = 'Name'
ws['B1'] = 'Age'
ws['C1'] = 'City'
ws.append(['Alice', 30, 'New York'])
ws.append(['Bob', 25, 'Los Angeles'])

# 保存工作簿
wb.save("example.xlsx")

# 加载已有的工作簿
wb = load_workbook("example.xlsx")
ws = wb.active

# 更新数据
ws['B2'] = 31
ws.append(['Charlie', 28, 'Chicago'])

# 删除数据
ws.delete_rows(2)

# 设置单元格样式
ws['A1'].font = Font(color="FF0000")
ws['A1'].fill = PatternFill(start_color="FFFF00", end_color="FFFF00", fill_type="solid")

# 合并单元格
ws.merge_cells('A1:C1')

# 保存工作簿
wb.save("example.xlsx")

# 遍历数据
for row in ws.iter_rows(values_only=True):
    print(row)
11. 总结

本文详细介绍了如何使用 Python 进行 Excel 文件的创建、遍历、更新、删除以及样式处理等操作。通过 openpyxl 库,可以轻松地读写 Excel 文件,并对其进行各种操作。掌握这些基本操作对于处理各种数据存储和分析任务非常重要。

通过上述示例和步骤,您可以熟练地使用 Python 来管理和操作 Excel 文件,从而提高数据处理的效率和灵活性。无论是进行简单的数据读写还是复杂的文件操作,Python 都能提供强大的支持。

相关推荐
ai小陈2 小时前
PyTorch DataLoader数据加载性能排查:GPU利用率低的实操指南
人工智能·pytorch·python·深度学习·ai·gpu算力
2601_962299244 小时前
Azure python操作系统列表
python·操作系统·azure·虚拟机·存储配置文件
学术 学术 Fun5 小时前
如何用 API 与 Webhook 批量把图表图片转换成 VSDX
python·自动化·api·visio
2601_962100546 小时前
python包和模块的内容整理
python·模块·导入·虚拟环境·
二进制漫游记7 小时前
FastAPI项目集成 Qdrant向量数据库+阿里云Embedding完整实战(工具封装+业务调用)
数据库·python·阿里云·embedding
-今昭-7 小时前
《V2V 迁移实战:将 VMware 虚拟机转为 OpenStack 可用 Glance qcow2 镜像》
开发语言·python
2601_962381588 小时前
【转】Python渗透测试工具:sqlmap
python·渗透测试·sql注入·sqlmap·数据库安全
用户3721574261358 小时前
如何使用 Python 从 Word 文档中提取图片
python
白山编程大哥10 小时前
Java 集合算法:从排序、查找到底层原理的实战指南
java·python·算法
昭昭日月明11 小时前
RAGFlow 入门,不用从零造轮子
python·ai编程