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

相关推荐
Scott9999HH4 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
AI云海5 小时前
python 列表、元组、集合和字典
开发语言·python
二十雨辰5 小时前
[爬虫]-Urllib
爬虫·python
玉鸯7 小时前
Agent Hook:在概率推理之上,为 Agent 叠加确定性控制
python·langchain·agent
weixin_446260857 小时前
HACO:面向动态部署环境的对冲式智能计算可靠多智能体调度框架
后端·python·flask
我的xiaodoujiao8 小时前
API 接口自动化测试详细图文教程学习系列32--Allure测试报告2
python·学习·测试工具·pytest
qetfw8 小时前
MXU:Tauri 2 + React 的 MaaFramework 跨平台 GUI 源码
前端·python·react.js·前端框架·开源项目·效率工具
用户8356290780519 小时前
Python 实现 Excel 页面布局与打印设置自动化
后端·python
一次旅行9 小时前
Python+大模型端到端自动化日报系统
开发语言·python·自动化