跳到主要内容

Pandas 与Excel集成

Pandas 是一个强大的数据处理库,而 Excel 是广泛使用的电子表格工具。将 Pandas 与 Excel 集成,可以让你轻松地在 Python 中处理和分析 Excel 数据。本文将带你了解如何使用 Pandas 读取、写入和操作 Excel 文件。

1. 安装依赖

在开始之前,确保你已经安装了 Pandas 和 openpyxl 库。openpyxl 是 Pandas 用于处理 Excel 文件的依赖库。

bash
pip install pandas openpyxl

2. 读取 Excel 文件

Pandas 提供了 read_excel() 函数来读取 Excel 文件。你可以指定文件路径和要读取的工作表。

python
import pandas as pd

# 读取 Excel 文件
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')

# 显示前5行数据
print(df.head())

输入

假设 data.xlsx 文件内容如下:

NameAgeCity
Alice23New York
Bob30Los Angeles
Charlie25Chicago

输出

plaintext
      Name  Age         City
0 Alice 23 New York
1 Bob 30 Los Angeles
2 Charlie 25 Chicago

3. 写入 Excel 文件

Pandas 提供了 to_excel() 函数,可以将 DataFrame 写入 Excel 文件。

python
# 创建一个 DataFrame
data = {
'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [23, 30, 25],
'City': ['New York', 'Los Angeles', 'Chicago']
}
df = pd.DataFrame(data)

# 写入 Excel 文件
df.to_excel('output.xlsx', index=False)

输出

生成的 output.xlsx 文件内容与 data.xlsx 相同。

4. 操作 Excel 数据

Pandas 提供了丰富的功能来操作 Excel 数据。以下是一些常见的操作示例。

4.1 筛选数据

python
# 筛选年龄大于25的记录
filtered_df = df[df['Age'] > 25]
print(filtered_df)

输出

plaintext
   Name  Age         City
1 Bob 30 Los Angeles

4.2 添加新列

python
# 添加一列 'Salary'
df['Salary'] = [50000, 60000, 55000]
print(df)

输出

plaintext
      Name  Age         City  Salary
0 Alice 23 New York 50000
1 Bob 30 Los Angeles 60000
2 Charlie 25 Chicago 55000

4.3 修改数据

python
# 修改 'City' 列的值
df.loc[df['Name'] == 'Alice', 'City'] = 'San Francisco'
print(df)

输出

plaintext
      Name  Age         City  Salary
0 Alice 23 San Francisco 50000
1 Bob 30 Los Angeles 60000
2 Charlie 25 Chicago 55000

5. 实际案例

假设你有一个包含销售数据的 Excel 文件,你需要计算每个销售人员的总销售额,并将结果写入新的 Excel 文件。

python
# 读取销售数据
sales_df = pd.read_excel('sales_data.xlsx')

# 计算每个销售人员的总销售额
total_sales = sales_df.groupby('Salesperson')['Sales'].sum().reset_index()

# 写入新的 Excel 文件
total_sales.to_excel('total_sales.xlsx', index=False)

输入

sales_data.xlsx 文件内容如下:

SalespersonProductSales
AliceA100
BobB200
AliceC150
BobA300

输出

total_sales.xlsx 文件内容如下:

SalespersonSales
Alice250
Bob500

6. 总结

通过本文,你学会了如何使用 Pandas 与 Excel 文件进行交互。你可以读取 Excel 文件、写入 Excel 文件,并对数据进行各种操作。这些技能在处理和分析电子表格数据时非常有用。

7. 附加资源与练习

  • 练习1:尝试读取一个包含多个工作表的 Excel 文件,并将每个工作表的数据合并到一个 DataFrame 中。
  • 练习2:创建一个包含学生成绩的 Excel 文件,使用 Pandas 计算每个学生的平均成绩,并将结果写入新的 Excel 文件。
提示

如果你需要进一步学习,可以参考 Pandas 官方文档openpyxl 官方文档