gpt4 book ai didi

Python:有没有更好的方法来构造字典?

转载 作者:太空宇宙 更新时间:2023-11-03 18:23:56 26 4
gpt4 key购买 nike

我想通过 API 从 Google Analytics(分析)中提取多个维度和指标,这需要维度:指标配对。当然,我认为字典可能是一个不错的选择。为了尽量减少打字并提高可读性,这就是我尝试过的。

dim_dict = {
0:'',
1:'ga:searchUsed',
2:'ga:searchKeyword',
3:'ga:pageTitle',
4:'ga:operatingSystem',
5:'ga:goalPreviousStep3'
}

metric_dict = {
1:'ga:sessions',
2:'ga:sessionDuration',
3:'bounceRate',
4:'pageviews',
5:'ga:searchSessions',
6:'ga:goalCompletionsAll'
}

dim_metric_dict = {
0:[1,2,3,4,5,6],
1:[1,2,3,4,5,6],
2:[1,2,3,4,5,6],
3:[1,2,3,4,5,6],
4:[1,2,3,4,5,6],
5:[6]
}

query_dict = {}
for dim_key in dim_dict.keys():
met = []
for metric_key in dim_metric_dict[dim_key]:
met.append(metric_dict[metric_key])
query_dict.update({dim_dict[dim_key]:met})

然后,我使用以下代码发出 API 请求:

def get_ga_kpi(start_date, end_date, dimensions='', sort='ga:pageviews'):
service = build('analytics', 'v3', http=http)
metrics = query_dict[dimensions]
if sort not in metrics:
sort = metrics[0]
data_query = service.data().ga().get(**{
'ids': 'ga:#######',
'metrics': '%s' % (','.join(metrics)),
'dimensions': '%s' % (dimensions),
'start_date':'%s' % (start_date),
'end_date':'%s' % (end_date),
'sort': '-%s' % (sort)
})
return feed['rows']

代码按预期工作,但我想知道是否有更好的方法来解决这个问题。感谢您的任何意见!

最佳答案

我不知道这是否更好,但您可以使用字典理解和枚举来避免输入所有数字。

例如,dim_dict 构造可以变为:

    dim_list = ['','ga:searchUsed','ga:searchKeyword','ga:pageTitle','ga:operatingSystem','ga:goalPreviousStep3']
dim_dict = {key:value for (key,value) in enumerate(dim_list)}

关于Python:有没有更好的方法来构造字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23574001/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com