python打开日志的csv文件后并用空格分列,然后将这些数据按日期、人员、动作进行归类
时间: 2023-12-06 17:44:44 浏览: 121
可以使用Python中的csv和pandas库来操作日志的csv文件并进行数据处理。
首先,使用csv库将csv文件读取为一个二维列表,然后使用pandas库将该二维列表转换为DataFrame对象。代码如下:
```python
import csv
import pandas as pd
# 读取csv文件为二维列表
with open('log.csv', 'r', encoding='utf-8') as f:
reader = csv.reader(f)
data = [row for row in reader]
# 将二维列表转换为DataFrame对象
df = pd.DataFrame(data[1:], columns=data[0])
```
接下来,使用pandas库的groupby方法对DataFrame对象进行分组,代码如下:
```python
# 按日期、人员、动作进行分组
grouped = df.groupby(['Date', 'Person', 'Action'])
```
最后,对分组后的数据进行统计或其他操作,例如计算每个人员每种动作的次数,代码如下:
```python
# 统计每个人员每种动作的次数
count = grouped.size().reset_index(name='Count')
```
完整代码如下:
```python
import csv
import pandas as pd
# 读取csv文件为二维列表
with open('log.csv', 'r', encoding='utf-8') as f:
reader = csv.reader(f)
data = [row for row in reader]
# 将二维列表转换为DataFrame对象
df = pd.DataFrame(data[1:], columns=data[0])
# 按日期、人员、动作进行分组
grouped = df.groupby(['Date', 'Person', 'Action'])
# 统计每个人员每种动作的次数
count = grouped.size().reset_index(name='Count')
```
其中,log.csv文件应该包含Date、Person、Action三列数据。
阅读全文