一尘不染

使用pandas.read_json时发生ValueError

json

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

[ {"A":"uniquevalue0", "B":[1,2,3]}, 
  {"A":"uniquevalue1", "B":[1]}, 
  {"A":"uniquevalue2", "B":[1,2,3,4]} ]

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

我打电话

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

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

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'

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


阅读 1288

收藏
2020-07-27

共1个答案

一尘不染

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

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

那对我有用!

2020-07-27