我正在使用 Google Analytics Python API,并且想要在维度中查找多个部分字符串匹配项。像下面这样的东西工作正常:
"filters": [
{
"dimensionName": "ga:pagePath",
"operator": "PARTIAL",
"expressions": ["substring1"]
},
{
"dimensionName": "ga:pagePath",
"operator": "PARTIAL",
"expressions": ["substring2"]
}
]
但是我想组合这些表达式,这样更容易做类似很多子字符串的事情。我看到“表达式”将采用正则表达式,所以我尝试使用下面的代码,但它不起作用。有人可以帮忙吗?
"filters": [
{
"dimensionName": "ga:pagePath",
"operator": "PARTIAL",
"expressions": ["substring1|substring2"]
}
]
我确信这是一个简单的问题,但我在任何地方都找不到答案。我想我可能使用了错误的方法。
最佳答案
将数据初始化为字典列表:
filters = [{
"dimensionName": "ga:pagePath",
"operator": "PARTIAL",
"expressions": ["substring1"]
},
{
"dimensionName": "ga:pagePath",
"operator": "PARTIAL",
"expressions": ["substring2"]
}
]
使用itertools
进行分组:
import itertools
records = []
for key, group in itertools.groupby(filters, lambda x: x['dimensionName']):
groups = list(group)
rec = {'dimensionName':key}
# assuming there are no duplicates of the operator
rec['operator'] = min([x['operator'] for x in groups])
# the `sum` expression reduces the list of lists of expressions it is slow but readable. For production, revisit
rec['expressions'] = sum([x['expressions'] for x in groups],[])
records.append(rec)
print(records)
# [{'dimensionName': 'ga:pagePath',
# 'operator': 'PARTIAL',
# 'expressions': ['substring1', 'substring2']}]
关于python - 在 Google Analytics API 中使用多个表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56808578/