小编Cam*_*ell的帖子

Google Analytics 对 Python 中的 Pandas Dataframe 的响应

仍然是 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)

python google-analytics dataframe pandas

2
推荐指数
1
解决办法
1585
查看次数

标签 统计

dataframe ×1

google-analytics ×1

pandas ×1

python ×1