使用pandas.read_json时发生ValueError

eha*_*nom 7 python json pandas

我制作了一个250MB的json文件,看起来应该像这样:

[ {"A":"uniquevalue0", "B":[1,2,3]}, 
  {"A":"uniquevalue1", "B":[1]}, 
  {"A":"uniquevalue2", "B":[1,2,3,4]} ]
Run Code Online (Sandbox Code Playgroud)

其中“ B”值可以为len> =1。表示我具有有效的JSON。

我打电话

df = pandas.read_json('ut1.json', orient = 'records', dtype={"A":str, "B":list})
Run Code Online (Sandbox Code Playgroud)

是文档。当读入熊猫数据框时,我得到以下回溯:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/.../pandas/io/json.py", line 198, in read_json     
    date_unit).parse()
  File "/.../pandas/io/json.py", line 266, in parse 
    self._parse_no_numpy()
  File "/.../pandas/io/json.py", line 496, in _parse_no_numpy
    loads(json, precise_float=self.precise_float), dtype=None)
ValueError: Unexpected character found when decoding 'true'
Run Code Online (Sandbox Code Playgroud)

想不到出了什么问题。引发错误的python文件并没有帮助。

lea*_*day 9

我有同样的错误消息,并且我使用绝对路径解决了。

import os
basePath = os.path.dirname(os.path.abspath(__file__))
df = pandas.read_json(basePath + '/ut1.json', orient = 'records', dtype={"A":str, "B":list})
Run Code Online (Sandbox Code Playgroud)

那对我有用!

  • @rodrigombs 不是“/ut1.json”,这会导致错误...“ut1.json”使用 os.path.join 加入 (2认同)

typ*_*n04 5

就我而言,路径是错误的。

确保您检查您当前的工作目录,将其放在以下内容之前pandas.read_json

import os
print(os.getcwd())
Run Code Online (Sandbox Code Playgroud)