我怎么能在python中使用else语法呢?

0ve6wy6x  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(242)

我从一个json文件中读取数据来检查一些值是否存在。
在下面的json结构中,我试图找到 adomain 从中的数据 bid 检查是否有 cat 价值,这并不总是存在的。
如何用下面的语法修复它?

import pandas as pd
import json

path = 'C:/MyWorks/Python/Anal/data_sample.json'

records = [json.loads(line) for line in open(path, encoding='utf-8')]

adomain = [
    rec['win_res']['seatbid'][0]['bid'][0]['adomain']
    for rec in records
    if 'adomain' in rec
]

以下是数据示例:

{
  "win_res": {
    "id": "12345",
    "seatbid": [
      {
        "bid": [
          {
            "id": "12345",
            "impid": "1",
            "price": 0.1,
            "adm": "",
            "adomain": [
              "adomain.com"
            ],
            "iurl": "url.com",
            "cid": "11",
            "crid": "11",
            "cat": [
              "IAB12345"
            ],
            "w": 1,
            "h": 1
          }
        ],
        "seat": "1"
      }
    ]
  }
}

因此 adomain 价值是无条件存在的,但是 cat 价值有时可能不存在。
所以,如果 cat 存在于 adomain ,我想表达 adomain 以及 cat 但如果没有 adomain ,的 cat 价值,我怎么做?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题