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

How to access certain values inside a string in Python

我只需要提取字符串中的特定元素值。 下面是我用来使用 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 value(23843294609751234) ,我只需要 landing_page_view 的值即 78(而不是其他行动项目)并将其放在 df 中。我如何访问它们?

更多信息:AdsInsights.Field.actions 是字符串类型。

type(AdsInsights.Field.actions)

str

希望这会奏效, 让您的数据是 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)