我有一个名为json_results
的JSON变量,并且我正在运行pandas.json_normalize(json_results)
。它会抛出以下错误:
in _json_normalize
raise NotImplementedError
NotImplementedError
我该如何解决这个问题?
我有一个名为json_results
的JSON变量,并且我正在运行pandas.json_normalize(json_results)
。它会抛出以下错误:
in _json_normalize
raise NotImplementedError
NotImplementedError
如果您将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
json.loads
(或等效的Pandas函数)。from_records
方法,例如:import json
import pandas as pd
s = '{"Column 1":{"Row 1":"Value 1","Row 2":"Value 2","Row 3":"Value 3"},' \
'"Column 2":{"Row 1":"Value 4","Row 2":"Value 5","Row 3":"Value 6"}}'
result = pd.DataFrame.from_records(json.loads(s))
print(result)
输出:
Column 1 Column 2
Row 1 Value 1 Value 4
Row 2 Value 2 Value 5
Row 3 Value 3 Value 6
info()
方法输出:
<class 'pandas.core.frame.DataFrame'>
Index: 3 entries, Row 1 to Row 3
Data columns (total 2 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Column 1 3 non-null object
1 Column 2 3 non-null object
dtypes: object(2)
from pandas.io.json import json_normalize
pd.json_normalize()
改为:
json_normalize()
这是解决我的问题的方法。