我正在通过API获得非常嵌套的json,然后尝试将接收到的一些信息转换为dataframe。
我使用了这一行来获得我想要的数据:
df = pd.json_normalize(result, record_path=['fields'],errors='ignore')
这有时会起作用,但有时我会得到记录路径的KeyError:
KeyError: "Key 'fields' not found. If specifying a record_path, all elements of data should have the path."
我假设这是因为我接收到的json并不总是完全相同的,但是可以根据所请求的信息的类型而有所不同。
我现在的问题是,是否有一种方法可以跳过没有这些键的数据?或者,如果有其他选项可以忽略没有这些键的数据?
发布于 2022-03-01 14:17:21
谢谢你写得好的问题。要做到这一点,您需要了解“异常处理”。
值得多了解一些,但以下是tl/dr:
try:
df = pd.json_normalize(result, record_path=['fields'],,errors='ignore')
except KeyError as e:
print(f"Unable to normalize json: {json.dumps(result, indent=4)}")
https://stackoverflow.com/questions/71309834
复制相似问题