首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Facebook Marketing API Ads to CSV in Python

Facebook Marketing API Ads to CSV in Python
EN

Stack Overflow用户
提问于 2020-12-28 02:35:14
回答 1查看 309关注 0票数 0

如何将Facebook营销API广告洞察的响应导出到CSV。

下面是我的代码和它的响应。

代码语言:javascript
复制
from facebook_business.api import FacebookAdsApi
from facebook_business.adobjects.adaccount import AdAccount

app_id = 'xxxxxxxxxxxxx'
app_secret = 'xxxxxxxxxxxxx'
access_token = 'xxxxxxxxx'
FacebookAdsApi.init(app_id, app_secret, access_token)

params = {'time_range': {'since': '2020-01-01', 'until': '2020-12-25'},
          'time_increment':1,
          'level': 'adset',
          'sort': ['spend_descending'],
          'export_format':'csv'}
fields = ['account_name',
          'campaign_name',
          'campaign_id',
          'adset_name',
          'adset_id',
          'impressions',
          'clicks',
          'cpm',
          'spend',
          'ctr']

insights = AdAccount('act_332828570147114').get_insights(params=params, fields=fields)
print(insights)

响应是

代码语言:javascript
复制
[<AdsInsights> {
    "account_name": "xxx",
    "adset_id": "xxx",
    "adset_name": "xxx",
    "campaign_id": "xxx",
    "campaign_name": "xxx",
    "clicks": "xxx",
    "cpm": "xxx",
    "ctr": "xxx",
    "date_start": "xxx",
    "date_stop": "xxx",
    "impressions": "xxx",
    "spend": "xxx"
}, <AdsInsights> {
    "account_name": "xxx",
    "adset_id": "xxx",
    "adset_name": "xxx",
    "campaign_id": "xxx",
    "campaign_name": "xxx",
    "clicks": "xxx",
    "cpm": "xxx",
    "ctr": "xxx",
    "date_start": "xxx",
    "date_stop": "xxx",
    "impressions": "xxx",
    "spend": "xxx"
}]

如何将此响应导出为CSV格式?任何建议都将受到高度赞赏。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-29 08:02:42

代码语言:javascript
复制
from facebook_business.api import FacebookAdsApi
from facebook_business.adobjects.adaccount import AdAccount

app_id = 'xxxxxxxxxxxxx'
app_secret = 'xxxxxxxxxxxxx'
access_token = 'xxxxxxxxx'
FacebookAdsApi.init(app_id, app_secret, access_token)

params = {'time_range': {'since': '2020-01-01', 'until': '2020-12-25'},
          'time_increment':1,
          'level': 'adset',
          'sort': ['spend_descending'],
          'export_format':'csv'}
fields = ['account_name',
          'campaign_name',
          'campaign_id',
          'adset_name',
          'adset_id',
          'impressions',
          'clicks',
          'cpm',
          'spend',
          'ctr']

insights = list(AdAccount('act_332828570147114').get_insights(params=params, fields=fields))
import pandas as pd

df=pd.DataFrame(columns=fields)
for field in fields:
    df["{}".format(field)]=[x['{}'.format(field)] for x in insights]

df.to_csv("insights.csv",index=False)

将adinsights对象作为字典进行交互,并在另存为csv之前将其添加到dataframe!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65469169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档