首页 > 解决方案 > 熊猫打开 json 文件 JSON -ValueError: Expected object or value

问题描述

我在保存为记事本文件的文件中有以下简单的 jsont.json

[{"a": 1, "b": 2, "c": 3},
{"a": 4, "b": 5, "c": 6},
{"a": 7, "b": 8, "c": 9}]

我正在尝试使用打开它

ValueError                                Traceback (most recent call last)
<ipython-input-236-487720f2328b> in <module>()
----> 1 data = pd.read_json('t.json')

~\Anaconda3\lib\site-packages\pandas\io\json\json.py in read_json(path_or_buf, orient, typ, dtype, convert_axes, convert_dates, keep_default_dates, numpy, precise_float, date_unit, encoding, lines, chunksize, compression)
    420         return json_reader
    421
--> 422     result = json_reader.read()
    423     if should_close:
    424         try:

~\Anaconda3\lib\site-packages\pandas\io\json\json.py in read(self)
    527             )
    528         else:
--> 529             obj = self._get_object_parser(self.data)
    530         self.close()
    531         return obj

~\Anaconda3\lib\site-packages\pandas\io\json\json.py in _get_object_parser(self, json)
    544         obj = None
    545         if typ == 'frame':
--> 546             obj = FrameParser(json, **kwargs).parse()
    547
    548         if typ == 'series' or obj is None:

~\Anaconda3\lib\site-packages\pandas\io\json\json.py in parse(self)
    636
    637         else:
--> 638             self._parse_no_numpy()
    639
    640         if self.obj is None:

~\Anaconda3\lib\site-packages\pandas\io\json\json.py in _parse_no_numpy(self)
    851         if orient == "columns":
    852             self.obj = DataFrame(
--> 853                 loads(json, precise_float=self.precise_float), dtype=None)
    854         elif orient == "split":
    855             decoded = {str(k): v for k, v in compat.iteritems(

ValueError: Expected object or value

我已尝试按照此页面中的建议创建绝对路径,但它也会产生值错误。有人可以帮忙吗?

标签: pythonjsonpandas

解决方案


有可能这是 pandas 模块的错误。你用的是什么版本?考虑更新。

之后,您可以尝试以下操作:

data  = pd.read_json('t.json', lines=False)

希望能帮助到你


推荐阅读