pandas.json_normalize遇Null/None报NotImplementedError的解决办法
解决pd.json_normalize处理null/None时的报错问题
当reviews为None或null时,pd.json_normalize会直接报错——因为该函数要求第一个参数必须是可迭代的JSON结构(比如列表),而None不具备可迭代性。下面是几种实用的解决办法:
方法一:提前做非空判断
在调用json_normalize之前,先检查reviews是否为None,是的话替换为空列表或者直接创建空DataFrame:
# 简洁写法:如果reviews为None,用空列表替代 reviews = reviews if reviews is not None else [] df = pd.json_normalize(reviews, sep='_')
或者更明确的分支判断:
if reviews is None: df = pd.DataFrame() # 创建空DataFrame,适配后续数据处理逻辑 else: df = pd.json_normalize(reviews, sep='_')
方法二:用异常捕获处理
直接包裹代码块,捕获None传入时触发的异常,然后返回空DataFrame:
try: df = pd.json_normalize(reviews, sep='_') except TypeError: # 当reviews为None时会抛出TypeError,此时生成空DataFrame df = pd.DataFrame()
内容的提问来源于stack exchange,提问作者Shreejeet Sahay
相关产品推荐
相关产品推荐

