2
Google Analytics将增量浏览器版本视为不同的版本,因此我的报告无法用于绘制任何有用的结论。例如Chrome 45.0.2454.93被认为是与45.0.2454.85不同的浏览器。解析并汇总Google Analytics浏览器版本CSV数据
我想写一个Python 2应用程序,它抓取Google Analytics CSV并聚合主要浏览器版本的会话信息。
我是新来的Python,但这里是我的尝试......
from __future__ import division
import csv
from collections import defaultdict
RAWFile = 'somefile.csv'
def default_val():
return [0, 0]
def aggregateaway():
with open(RAWFile, 'r') as inf:
has_header = csv.Sniffer().has_header(inf.read(1024))
inf.seek(0) # rewind
incsv = csv.reader(inf)
if has_header:
next(incsv) # skip header row
reader = csv.DictReader(incsv, 'r')
BrowserVersion = defaultdict(default_val)
for row in reader:
Sessions = int(row["Sessions"])
BrowserVersion[row["BrowserVersion"]][0] += Sessions
writer = csv.writer(open('out.csv', 'w'))
writer.writerow(["BrowserVersion", "Sessions"])
writer.writerows([BrowserVersion] + BrowserVersion[BrowserVersion] for BrowserVersion in BrowserVersion)
我有两个问题,我知道:
- 我得到
ValueError('I/O operation on closed file',)
- 我想这是因为逻辑我用它来跳过数据前面的行。 - 我不确定如何以编程方式将主要浏览器版本分组。是
left(BrowserVersion, 2)
?即使如此,由于其他浏览器版本控制规则,这也是有缺陷的。也许我可以搜索第一个.
,然后应用左边的x个字符。我将如何添加到上面的代码?
编辑:一些样本CSV数据:
# ----------------------------------------
# My Site
# Web Browsers
# 20150828-20150927
# ----------------------------------------
Browser,Operating System,Browser Version,Sessions,Bounce Rate
Safari,iOS,8.0,"1,681",68.91%
Chrome,Windows,45.0.2454.85,"1,200",40.98%
Chrome,Windows,45.0.2454.93,"2,273",40.98%