Python统计CSV文件中IP访问次数并用JSON展示

本教程将引导您使用Python统计CSV文件中每个IP地址的访问次数。

问题:

在 'Q2' 文件夹下有一个名为 'weblog.csv' 的文件,其中包含网站的访问记录。请使用Python完成以下任务:

  1. 使用CSV模块读取 'weblog.csv' 文件。2. 使用 Collections.Counter 统计每个IP地址的访问次数 {IP: 访问次数}。3. 使用JSON模块以易于阅读的格式展示最终结果。

**解决方案:**pythonimport csvfrom collections import Counterimport json

1. 读取CSV文件ip_addresses = []with open('Q2/weblog.csv', 'r') as file: reader = csv.reader(file) # 跳过标题行(如果存在) next(reader, None) for row in reader: # 假设IP地址在CSV文件的每一行的第一列 ip_addresses.append(row[0])

2. 统计IP地址访问次数ip_counts = Counter(ip_addresses)

3. 将结果转换为JSON格式json_output = json.dumps(ip_counts, indent=4)

打印JSON结果print(json_output)

代码解释:

  1. 导入必要的模块: - csv: 用于读取和处理CSV文件。 - collections: 用于使用 Counter 对象轻松统计元素频率。 - json: 用于将Python数据结构编码为JSON格式。

  2. 读取CSV文件: - 使用 open() 函数以只读模式 ('r') 打开CSV文件。 - 使用 csv.reader() 创建一个读取器对象。 - 使用 next(reader, None) 跳过标题行(如果存在)。 - 迭代读取器对象的每一行,并将第一列(假设是IP地址)添加到 ip_addresses 列表中。

  3. 统计IP地址访问次数: - 使用 Counter(ip_addresses) 创建一个字典,其中键是唯一的IP地址,值是它们出现的次数。

  4. 将结果转换为JSON格式: - 使用 json.dumps()ip_counts 字典转换为JSON格式的字符串。 - indent=4 参数用于提供缩进以提高可读性。

  5. 打印JSON结果: - 使用 print() 函数打印最终的JSON格式结果。

这将生成一个包含每个唯一IP地址及其对应访问次数的JSON字符串。

Python统计CSV文件中IP访问次数并用JSON展示

原文地址: https://www.cveoy.top/t/topic/dpzY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录