我正在尝试通过Pandas pd.read_json读取大型Json文件,但显示错误: ValueError:尾随数据
根据我的研究,我没有成功,所以我想寻求您的帮助。 试图运行Json验证器,输出如下。
我该如何解决?谢谢
答案 0 :(得分:2)
您显示的错误消息包含准确的位置, 问题的根源是:
(At line #191), (At position #1)
查看JSON文件中的指定位置。
文件中一个奇怪的细节是逗号应在 之后的“}”中 190行,不是下一行的开始,但是我不确定是否 这实际上是任何问题。
尝试“部分读取”,而对象不从第191行开始。
要检查的更多细节:如果第190行中的“}”终止了上面的整个 内容,然后:
我做了这样的实验:
输入文件包含:
{
"aa" : "aa1",
"bb" : "bb1"
},
{
"aa" : "aa2",
"bb" : "bb2"
}
(主层有2个JSON对象)。
然后pd.read_json('Input.json')
引发 ValueError:尾随数据。
但是当我将输入文件更改为:
[
{
"aa" : "aa1",
"bb" : "bb1"
},
{
"aa" : "aa2",
"bb" : "bb2"
}
]
(2个JSON对象的列表),我得到了正确的结果:
aa bb
0 aa1 bb1
1 aa2 bb2
查看您的输入文件,也许您遇到的问题就像 我展示了。
又一次体验
输入文件包含:
{ "aa" : "aa1", "bb" : "bb1" }
{ "aa" : "aa2", "bb" : "bb2" }
{ "aa" : "aa3", "bb" : "bb3" }
即单独的对象,没有用“ 或在每个对象后都没有逗号。
您可以致电pd.read_json('Input.json', lines=True)
阅读。
但是这里的限制是每行必须包含 complete JSON 对象,所以在您的情况下,它是毫无用处的。