仍然是 Python 新手,所以请保持温柔。
我正在尝试解析 Google Analytics Reporting API V4 对 Python 中 Pandas 数据帧的响应,特别是使用 Repl(如果这有什么区别)。我已经尝试了一些普遍接受的答案,但似乎没有一个有效。代码“成功”(没有错误消息)执行,但即使是脚本末尾的基本 print('Done') 命令也没有显示在终端中。
任何人都可以看到我的代码可能有什么问题吗?
import pandas as pd
from pandas import json_normalize
response = {'reports':[{'columnHeader':{'dimensions':['ga:date','ga:sourceMedium','ga:landingPagePath','ga:deviceCategory','ga:browser'],'metricHeader':{'metricHeaderEntries':[{'name':'ga:sessions','type':'INTEGER'}]}},'data':{'rows':[{'dimensions':['20201126','(direct) / (none)','/test/page.html','desktop','Chrome'],'metrics':[{'values':['1']}]}],'totals':[{'values':['1000']}],'rowCount':100,'minimums':[{'values':['1']}],'maximums':[{'values':['10']}],'isDataGolden':True},'nextPageToken':'1'}]}
def parse_data(response):
reports = response['reports'][0]
columnHeader = reports['columnHeader']['dimensions']
metricHeader = reports['columnHeader']['metricHeader']['metricHeaderEntries']
columns = columnHeader
for metric in metricHeader:
columns.append(metric['name'])
data = pd.json_normalize(reports['data']['rows'])
data_dimensions = pd.DataFrame(data['dimensions'].tolist())
data_metrics = pd.DataFrame(data['metrics'].tolist())
data_metrics = data_metrics.applymap(lambda x: x['values'])
data_metrics = pd.DataFrame(data_metrics[0].tolist())
result = pd.concat([data_dimensions, data_metrics], axis=1, ignore_index=True)
return result
print(result)
result.to_csv('result.csv')
print('Done')
Run Code Online (Sandbox Code Playgroud)