用python打开csv文件后,将每一行按空格进行分列,并识别出里面的日期和人员信息系等,最后输出每个人每天出现了几次。
时间: 2023-11-28 12:49:50 浏览: 27
可以使用Python内置的csv模块来读取csv文件,并使用datetime模块来识别日期。下面是一个示例代码:
```python
import csv
from datetime import datetime
filename = 'data.csv'
name_count = {}
with open(filename, 'r') as csvfile:
reader = csv.reader(csvfile)
next(reader) # skip header row
for row in reader:
date_str, name = row[0].split(' ', 1) # split row by first space
date = datetime.strptime(date_str, '%Y-%m-%d').date() # parse date
if name not in name_count:
name_count[name] = {}
if date not in name_count[name]:
name_count[name][date] = 0
name_count[name][date] += 1
for name, counts in name_count.items():
print(name)
for date, count in counts.items():
print(f'{date}: {count}')
```
其中,`filename` 是csv文件的路径,`name_count` 是一个字典,用于统计每个人每天出现的次数。代码首先打开csv文件并使用csv.reader逐行读取文件,跳过第一行标题行。然后对于每一行,使用`split`函数按空格分列,识别出日期和名字。使用`strptime`函数将日期字符串解析为datetime对象,再使用`date`函数提取日期部分。接着,将每个人每天出现的次数记录在`name_count`字典中。最后,遍历字典输出统计结果。
需要注意的是,此代码假设csv文件的第一列格式为`YYYY-MM-DD Name`,其中日期和名字由一个空格分隔。如果csv文件格式不同,需要相应修改代码。