python 如何对excel 表格内容筛选并统计
时间: 2023-07-26 15:45:34 浏览: 286
Python 中可以使用 openpyxl 库对 Excel 表格进行筛选和统计。下面是一些示例代码来说明如何实现。
假设我们有一个 Excel 表格,包含以下列:姓名、年龄、性别、城市。
1. 筛选
我们可以使用 openpyxl 库中的 `AutoFilter` 对象来实现筛选功能。假设我们要筛选出城市为“北京”的行,代码如下:
```python
from openpyxl import load_workbook
# 加载 Excel 文件
workbook = load_workbook('example.xlsx')
# 选择工作表
worksheet = workbook.active
# 打开筛选
worksheet.auto_filter.ref = "A1:D1"
# 筛选城市为“北京”的行
for row in worksheet.iter_rows(min_row=2):
if row[3].value == '北京':
for cell in row:
print(cell.value, end=' ')
print()
```
上述代码中,我们首先使用 `load_workbook()` 函数加载 Excel 文件,然后选择工作表,接着打开筛选功能,并指定需要筛选的范围(第一行到第四列)。然后,我们使用 `iter_rows()` 方法迭代所有行,并判断每一行的第四列(城市)是否为“北京”,如果是则输出该行的所有单元格的值。
2. 统计
我们可以使用 openpyxl 库中的 `Worksheet` 对象的方法来实现对 Excel 表格的统计。假设我们要统计城市为“北京”的人数,代码如下:
```python
from openpyxl import load_workbook
# 加载 Excel 文件
workbook = load_workbook('example.xlsx')
# 选择工作表
worksheet = workbook.active
# 统计城市为“北京”的人数
count = 0
for row in worksheet.iter_rows(min_row=2):
if row[3].value == '北京':
count += 1
print(f'城市为“北京”的人数为{count}人。')
```
上述代码中,我们首先使用 `load_workbook()` 函数加载 Excel 文件,然后选择工作表。接着,我们使用 `iter_rows()` 方法迭代所有行,并判断每一行的第四列(城市)是否为“北京”,如果是则将计数器加一。最后,我们输出统计结果。
这只是一些基本的示例代码,您可以根据实际需求进行修改和扩展。
阅读全文