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 都能提供强大的支持。

相关推荐
Niu_brave4 分钟前
Python基础知识学习(2)
开发语言·python·学习
geekrabbit11 分钟前
Ubuntu 22.04上安装Python 3.10.x
linux·python·ubuntu
deflag24 分钟前
第T1周:Tensorflow实现mnist手写数字识别
人工智能·python·机器学习·分类·tensorflow
Zucker n35 分钟前
猫狗识别大模型——基于python语言
开发语言·python
数云界1 小时前
使用 VSCode 在 Python 中创建项目环境
ide·vscode·python
m0_608570981 小时前
vscode对python进行多卡调试
ide·vscode·python
zhang-ge1 小时前
python提取pdf表格到excel:拆分、提取、合并
python·pdf·excel
计算机学姐1 小时前
基于python+django+vue的在线学习资源推送系统
开发语言·vue.js·python·学习·django·pip·web3.py
吃什么芹菜卷2 小时前
2024.9最新:CUDA安装,pytorch库安装
人工智能·pytorch·笔记·python·深度学习
鬼圣2 小时前
【软件测试】--xswitch将请求代理到测试桩
软件测试·python·flask·测试桩·xswitch插件