熊猫读了杰森-追踪数据

时间:2020-05-10 18:21:34

标签: python json pandas parsing

我正在尝试通过Pandas pd.read_json读取大型Json文件,但显示错误: ValueError:尾随数据

根据我的研究,我没有成功,所以我想寻求您的帮助。 试图运行Json验证器,输出如下。

我该如何解决?谢谢

Error from Json Validator

line 191 - JSON file

1 个答案:

答案 0 :(得分:2)

您显示的错误消息包含准确的位置, 问题的根源是:

(At line #191), (At position #1)

查看JSON文件中的指定位置。

编辑

文件中一个奇怪的细节是逗号应在 之后的“}”中 190行,不是下一行的开始,但是我不确定是否 这实际上是任何问题。

尝试“部分读取”,而对象不从第191行开始。

要检查的更多细节:如果第190行中的“}”终止了上面的整个 内容,然后:

  • 您的输入文件在主级别包含多个 JSON对象
  • 可能您应该使用“ [”和“]”将整个文件括起来,以便 整个文件将是对象列表。

编辑2

我做了这样的实验:

输入文件包含:

{
  "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 对象,所以在您的情况下,它是毫无用处的。