为什么 pandas.json_normalize(json_results) 会引发 NotImplementedError ?

pwl*_*998 7 python json pandas json-normalize

我有一个名为 json 变量,json_results并且正在运行pandas.json_normalize(json_results). 它会引发以下错误:

in _json_normalize
    raise NotImplementedError
NotImplementedError
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

mkr*_*er1 9

如果您将 JSON 字符串传递给json_normalize,而不是已解码的 JSON 对象,则可能会发生此错误。

>>> import json
>>> import pandas as pd

>>> s = '{"hello": "world"}'
>>> pd.json_normalize(s)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File ".../lib/python3.7/site-packages/pandas/io/json/_normalize.py", line 423, in _json_normalize
    raise NotImplementedError
NotImplementedError

>>> d = json.loads(s)
>>> pd.json_normalize(d)
   hello
0  world
Run Code Online (Sandbox Code Playgroud)

如果是这种情况,请json.loads首先使用(或等效的 Pandas 函数)。


小智 0

您是否像这样导入 json_normalize:

from pandas.io.json import json_normalize
Run Code Online (Sandbox Code Playgroud)

如果是这样,请导入 pandas,然后尝试像这样调用 json_normalize:

pd.json_normalize()
Run Code Online (Sandbox Code Playgroud)

代替:

json_normalize()
Run Code Online (Sandbox Code Playgroud)

这就是为我解决这个问题的原因。