为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Python 中访问字符串中的某些值

如何在 Python 中访问字符串中的某些值

慕妹3146593 2022-06-14 15:06:02
我只需要提取字符串中的特定元素值。下面是我使用 Facebook AdsInsight API 获取 AdsInsight 数据的代码。class LibFacebook:    def __init__(self, app_id, app_secret, access_token, ad_account_id):        FacebookAdsApi.init(app_id, app_secret, access_token)        self.account = AdAccount(ad_account_id)      #get ads insight        insights = self.account.get_insights(fields=[        AdsInsights.Field.campaign_id,        AdsInsights.Field.actions,], params={        'level': AdsInsights.Level.campaign,        })        print(insights)输出<AdsInsights> {    "campaign_id": "23843294609751234",    "actions": [        {            "action_type": "post_reaction",            "value": "1"        },        {            "action_type": "landing_page_view",            "value": "78"        },        {            "action_type": "link_click",            "value": "163"        }       ]问题:与campaign_id 值(23843294609751234)一起,我只需要landing_page_view的值,即78(而不是其他操作项)并将其放入df 中。我如何访问它们?更多信息:AdsInsights.Field.actions 是字符串类型。type(AdsInsights.Field.actions)str
查看完整描述

1 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

希望这会起作用,让您的数据是AdsInsights对象列表


obj = [{

    "campaign_id": "23843294609751234",

    "actions" : [


            {

                "action_type": "post_reaction",

                "value": "1"

            },

            {

                "action_type": "landing_page_view",

                "value": "78"

            },

            {

                "action_type": "link_click",

                "value": "163"

            }

           ]

},


 {

    "campaign_id": "112233",

    "actions" : [


            {

                "action_type": "post_reaction",

                "value": "1"

            },

            {

                "action_type": "landing_page_view",

                "value": "100"

            },

            {

                "action_type": "link_click",

                "value": "163"

            }

           ]

}]

你可以得到这样的结果


result_arr = []

for i in obj:

    datadict = {}  

    datadict["campaign_id"] = i.get("campaign_id")

    for action in i.get("actions"):

        if action.get("action_type") == "landing_page_view":

            datadict["value"]= action.get("value")

            result_arr.append(datadict)

result_arr将会


[{'campaign_id': '23843294609751234', 'value': '78'},

 {'campaign_id': '112233', 'value': '100'}]

接下来将字典列表转换为数据框


df=pd.DataFrame(result_arr)


查看完整回答
反对 回复 2022-06-14
  • 1 回答
  • 0 关注
  • 125 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号