在Q2文件夹下有weblog.csv文件,里面是网站的访问记录,请使用CSV模块读取文件,使用 Collections.Counter统计每个IP地址的访问次数{IP: 访问次数},并使用JSON模块展示最终结果。
时间: 2024-10-19 20:13:15 浏览: 16
weblog是使用 Node.js 和 MongoDB 开发的博客系统 .zip
首先,你需要导入所需的`csv`模块来读取CSV文件,然后使用`collections.Counter`来计算每个IP地址的访问次数。最后,将结果转换为JSON格式以方便展示。以下是一个简单的Python脚本示例:
```python
import csv
from collections import Counter
import json
# 读取CSV文件
with open('Q2/weblog.csv', 'r') as csvfile:
reader = csv.reader(csvfile)
ip_addresses = [row[0] for row in reader if len(row) > 0 and row[0].startswith('IP:')]
# 使用Counter统计IP地址的访问次数
ip_counts = Counter(ip_addresses)
# 将Counter对象转换为字典
ip_dict = dict(ip_counts)
# 将字典转换为JSON格式
json_result = json.dumps(ip_dict, indent=4) # 保持缩进使得JSON更易阅读
# 输出或保存到文件
print(json_result)
# 或者写入文件
with open('output.json', 'w') as json_file:
json_file.write(json_result)
```
在这个脚本中,我们假设CSV文件的第一列是以 "IP:" 开头的IP地址信息。脚本会忽略非IP行,并统计每个IP地址的出现次数。
阅读全文