我正在使用Facebook Python SDK查询Insights端点,并且很难做出响应我使用Python和随后的pandas.我做以下电话:
account = AdAccount('act_id')
params = {
'fields': [Insights.Field.impressions,Insights.Field.clicks,Insights.Field.actions,Insights.Field.spend],
'breakdowns': [Insights.Breakdown.hourly_stats_aggregated_by_advertiser_time_zone],
'time_range': {
'since': 'start',
'until': 'end',
},
'action_attribution_windows': ['7d_click'],
}
result = account.get_insights(params=params)
print (result)
Run Code Online (Sandbox Code Playgroud)
它返回如下数据:
[<Insights> {
"actions": [
{
"7d_click": 600,
"action_type": "custom_event_xyz",
"value": 50
},
{
"7d_click": 600,
....
}
],
"clicks": 1500,
"date_start": "start",
"date_stop": "end",
"hourly_stats_aggregated_by_advertiser_time_zone": "00:00:00 - 00:59:59",
"impressions": "60000",
"spend": 60
}, <Insights> {
....
]
Run Code Online (Sandbox Code Playgroud)
将不包含actionsdata的数据放入pandas DataFrame时,我无法正确地展平操作数据,以便聚合级别一致(即"actions"键作为列标题).在线检查并在Stackoverflow上进行检查,使用python加载json并相应地处理它,然后使用pandas读取它们都是不起作用的选项.
总结我看不出如何优雅地挖掘响应的更深层嵌套部分,并轻松地使内容与其余部分兼容.