我有一些我想要分析的日志文件。使用一点regex我得到了以下结构:
月/年,网址,计数
Sep 2016,/,100513
Sep 2016,/,68221
Oct 2016,/,536365
Oct 2016,/,362350
Oct 2016,/,89203
Nov 2016,/,526455
Nov 2016,/,351360
Nov 2016,/,88279
Dec 2016,/,538702
Dec 2016,/,156063
Dec 2016,/,89094
Jan 2017,/,535684
Jan 2017,/,105867
Jan 2017,/,87492
Feb 2017,/,483897
Feb 2017,/,80502
Feb 2017,/,47554
Mar 2017,/,434830
Mar 2017,/,72355
Mar 2017,/,43036
它有几十条线,所以我不能使用Excel或Google表格,所以我试图在python中按月和URL聚合Count。有什么好方法可以做到这一点?
答案 0 :(得分:1)
你可以使用熊猫来做到这一点。您的示例是一个csv文件,因此以下内容可以正常工作。
import pandas as pd
df = pd.read_csv('x.csv', parse_dates=True)
print df.groupby(['Month/Year', 'URL']).sum()
答案 1 :(得分:0)
如果您需要没有外部依赖关系的解决方案(可能是严格的企业环境):
months = {}
urls = {}
with open ('./parsed-data.txt', 'r') as f:
lines = f.readlines()
for line in lines:
# [Month, URL, Count]
data = line.split(',')
months[data[0]] = months.setdefault(data[0], 0) + int(data[2])
urls[data[1]] = urls.setdefault(data[1], 0) + int(data[2])
# Do whatever with months and urls here