Python知识点:如何使用Python进行Excel文件操作(OpenPyXL、Pandas)

在 Python 中,处理 Excel 文件常用的库有 OpenPyXLPandas。它们各自适合不同的使用场景:

  1. OpenPyXL

    • 主要用于操作 .xlsx 格式的 Excel 文件。
    • 适合对 Excel 文件进行格式设置公式图表等功能的处理。
    • 更多偏向 Excel 文档的原生功能操作。
  2. Pandas

    • 更适合处理表格型数据,如读取、分析、修改数据。
    • 可以非常方便地进行数据处理,如筛选、排序、数据聚合等操作。

以下是如何使用这两个库进行常见操作的示例:

安装所需库

bash 复制代码
pip install openpyxl pandas

1. 使用 OpenPyXL 操作 Excel 文件

基本操作:读取和写入

python 复制代码
from openpyxl import load_workbook, Workbook

# 读取 Excel 文件
wb = load_workbook('example.xlsx')
sheet = wb.active  # 获取活跃的 sheet,或通过 sheet 名字 wb['Sheet1'] 来获取

# 读取单元格数据
cell_value = sheet['A1'].value
print(cell_value)

# 修改单元格数据
sheet['A1'] = "New Value"

# 保存更改
wb.save('example_modified.xlsx')

创建一个新的 Excel 文件并写入数据

python 复制代码
# 创建新的工作簿
wb = Workbook()
sheet = wb.active

# 写入数据
sheet['A1'] = 'Hello'
sheet['A2'] = 'World'

# 保存工作簿
wb.save('new_file.xlsx')

添加多个 sheet

python 复制代码
# 创建一个新的 sheet
wb.create_sheet(title="Sheet2")

# 选择新的 sheet
sheet2 = wb["Sheet2"]
sheet2['A1'] = "Data in Sheet2"

# 保存
wb.save('new_file_with_multiple_sheets.xlsx')

2. 使用 Pandas 操作 Excel 文件

读取 Excel 文件

python 复制代码
import pandas as pd

# 读取 Excel 文件中的第一个 sheet
df = pd.read_excel('example.xlsx')

# 查看前几行数据
print(df.head())

将 DataFrame 写入到 Excel 文件

python 复制代码
# 创建一个 DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35]
}
df = pd.DataFrame(data)

# 将 DataFrame 保存为 Excel 文件
df.to_excel('output.xlsx', index=False)  # index=False 去掉 DataFrame 的行索引

读取和写入多个 sheet

python 复制代码
# 读取 Excel 文件的特定 sheet
df_sheet2 = pd.read_excel('example.xlsx', sheet_name='Sheet2')

# 写入多个 sheet 到 Excel 文件
with pd.ExcelWriter('output_multiple_sheets.xlsx', engine='openpyxl') as writer:
    df.to_excel(writer, sheet_name='Sheet1')
    df_sheet2.to_excel(writer, sheet_name='Sheet2')

数据处理

Pandas 更适合进行数据处理操作,比如过滤、分组、聚合等:

python 复制代码
# 过滤数据
filtered_df = df[df['Age'] > 30]

# 分组聚合
grouped = df.groupby('Age').sum()

# 打印结果
print(filtered_df)
print(grouped)

两者对比

  • OpenPyXL 更适合需要对 Excel 文件的格式单元格样式图表等进行操作的场景。
  • Pandas 更擅长处理大规模数据、进行复杂的数据分析和处理,但它不处理 Excel 的格式和样式。

总结

根据实际需要选择库:

  • 如果你只是读取和处理数据,Pandas 更方便快捷。
  • 如果需要对 Excel 文件的格式图表等进行操作,OpenPyXL 更适合。

希望这些例子能帮助你了解如何使用 Python 来处理 Excel 文件。如果有更多问题,欢迎继续讨论!

相关推荐
_Power_Y17 分钟前
Java面试常用算法api速刷
java·算法·面试
java1234_小锋35 分钟前
TensorFlow2 Python深度学习 - TensorFlow2框架入门 - 神经网络基础原理
python·深度学习·tensorflow·tensorflow2
JJJJ_iii36 分钟前
【深度学习03】神经网络基本骨架、卷积、池化、非线性激活、线性层、搭建网络
网络·人工智能·pytorch·笔记·python·深度学习·神经网络
JJJJ_iii1 小时前
【深度学习05】PyTorch:完整的模型训练套路
人工智能·pytorch·python·深度学习
koko421 小时前
天津小公司面经
java·学习·面试
程序员小远2 小时前
常用的测试用例
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
IT学长编程2 小时前
计算机毕业设计 基于EChants的海洋气象数据可视化平台设计与实现 Python 大数据毕业设计 Hadoop毕业设计选题【附源码+文档报告+安装调试】
大数据·hadoop·python·毕业设计·课程设计·毕业论文·海洋气象数据可视化平台
辣椒http_出海辣椒2 小时前
Python 数据抓取实战:从基础到反爬策略的完整指南
python
一小池勺2 小时前
CommonJS
前端·面试
荼蘼2 小时前
使用 Flask 实现本机 PyTorch 模型部署:从服务端搭建到客户端调用
人工智能·pytorch·python