我正在尝试让计数器计算下面代码中出现最多的日期。
from collections import Counter
with open('dates.json', 'rb') as f:
data = f.readlines()
c = Counter(data)
print (c.most_common()[:10])
JSON数据存储为类似的列表
["Sun Aug 07 01:50:13 +0000 2016", "Sun Aug 07 01:50:13 +0000 2016", "Sun Aug 07 01:50:13 +0000 2016", "Sun Aug 07 01:50:13 +0000 2016", "Sun Aug 07 01:50:13 +0000 2016", "Sun Aug 07 01:50:13 +0000 2016", "Sun Aug 07 01:50:13 +0000 2016", "Sun Aug 07 01:50:13 +0000 2016", "Sun Aug 07 01:50:13 +0000 2016"]
我希望输出与此类似(从另一个程序中获取(
[('Sun Aug 07 02:29:45 +0000 2016', 4), ('Sun Aug 07 02:31:05 +0000 2016', 4), ('Sun Aug 07 02:31:04 +0000 2016', 3), ('Sun Aug 07 02:31:08 +0000 2016', 3), ('Sun Aug 07 02:31:22 +0000 2016', 3)]
但这是我的输出
[(48, 72), (32, 53), (49, 27), (34, 18), (117, 18), (58, 18), (65, 9), (51, 9), (103, 9), (43, 9)]
我真的不明白在计数什么
应该使用readlines()
而不是json.load()
将JSON数据加载到Python列表中:
import json
with open('dates.json', 'r') as f:
data = json.load(f)