匠心精神 - 良心品质腾讯认可的专业机构-IT人的高薪实战学院

咨询电话:4000806560

Python处理Excel数据:Pandas与Openpyxl应用实践

Python处理Excel数据:Pandas与Openpyxl应用实践

在日常的工作或者项目中,经常会遇到需要处理Excel数据的需求。Python中有许多处理Excel数据的库,其中Pandas和Openpyxl是两个比较常用的库。本文将介绍如何使用Pandas和Openpyxl来读写和处理Excel数据。

1. 安装Pandas和Openpyxl

在开始使用Pandas和Openpyxl之前,需要先安装它们。可以通过以下命令来安装:

```
pip install pandas
pip install openpyxl
```

2. 读取Excel数据

使用Pandas读取Excel数据非常简单,只需要用read_excel()函数即可。以下是一个例子:

```
import pandas as pd

# 读取Excel文件
df = pd.read_excel('data.xlsx')
# 打印前5行
print(df.head())
```

在上述例子中,我们通过read_excel()函数读取了名为"data.xlsx"的Excel文件,并将其保存为DataFrame格式。通过head()函数打印了前5行数据。

使用Openpyxl读取Excel数据也非常简单。以下是一个例子:

```
from openpyxl import load_workbook

# 读取Excel文件
wb = load_workbook('data.xlsx')
# 选择工作表
ws = wb.active

# 遍历行和列
for row in ws.iter_rows(values_only=True):
    for cell in row:
        print(cell)
```

在上述例子中,我们通过load_workbook()函数读取了名为"data.xlsx"的Excel文件,并选择了活动工作表。通过使用iter_rows()函数来遍历Excel表格中的每一行和每一列。

3. 写入Excel数据

使用Pandas写入Excel数据同样非常简单,只需要将DataFrame数据保存到Excel文件中即可。以下是一个例子:

```
import pandas as pd

# 创建DataFrame数据
data = {'Name': ['John', 'Jane', 'Mike', 'Lisa'],
        'Age': [25, 30, 35, 40],
        'Gender': ['M', 'F', 'M', 'F']}
df = pd.DataFrame(data)

# 将DataFrame保存为Excel文件
df.to_excel('output.xlsx', index=False)
```

在上述例子中,我们创建了一个DataFrame数据,并使用to_excel()函数将其保存到名为"output.xlsx"的Excel文件中。通过设置index=False来避免生成Excel文件中的行索引。

使用Openpyxl写入Excel数据同样也非常简单。以下是一个例子:

```
from openpyxl import Workbook

# 创建工作簿和工作表
wb = Workbook()
ws = wb.active

# 写入数据
ws['A1'] = 'Name'
ws['B1'] = 'Age'
ws['C1'] = 'Gender'
ws['A2'] = 'John'
ws['B2'] = 25
ws['C2'] = 'M'
ws['A3'] = 'Jane'
ws['B3'] = 30
ws['C3'] = 'F'
ws['A4'] = 'Mike'
ws['B4'] = 35
ws['C4'] = 'M'
ws['A5'] = 'Lisa'
ws['B5'] = 40
ws['C5'] = 'F'

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

在上述例子中,我们首先创建了一个工作簿和工作表,然后通过添加数据到单元格来写入Excel数据。最后通过使用save()函数保存工作簿到名为"output.xlsx"的Excel文件中。

4. 处理Excel数据

使用Pandas和Openpyxl可以进行许多Excel数据处理。以下是一些常用的处理方法:

使用Pandas计算数据的均值、中位数、标准差和方差:

```
import pandas as pd

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

# 计算均值、中位数、标准差和方差
print('Mean:', df['Age'].mean())
print('Median:', df['Age'].median())
print('Standard deviation:', df['Age'].std())
print('Variance:', df['Age'].var())
```

使用Openpyxl进行数据筛选:

```
from openpyxl import load_workbook

# 读取Excel文件
wb = load_workbook('data.xlsx')
ws = wb.active

# 筛选出年龄大于30岁的人员
for row in ws.iter_rows(min_row=2, values_only=True):
    if row[1] > 30:
        print(row[0], row[1], row[2])
```

在上述例子中,我们使用iter_rows()函数遍历Excel表格中的每一行,并筛选出年龄大于30岁的人员数据。

5. 总结

本文介绍了如何使用Pandas和Openpyxl来读写和处理Excel数据。可以根据具体需求选择使用Pandas或Openpyxl进行数据处理。同时,还介绍了一些常用的Excel数据处理方法,可以根据具体情况进行使用。