ValueError:预期的对象或值

2024-04-16 15:38:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将一个示例json文件导入到dataframe中

我已经试过了

错误:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-8-bd3924a4e6a1> in <module>()
      1 # working with json
      2 import pandas as pd
----> 3 df = pd.read_json("/content/drive/MyDrive/Datasets/sample3.json", lines=True)
      4 df.head()

6 frames
/usr/local/lib/python3.7/dist-packages/pandas/io/json/_json.py in _parse_no_numpy(self)
   1117         if orient == "columns":
   1118             self.obj = DataFrame(
-> 1119                 loads(json, precise_float=self.precise_float), dtype=None
   1120             )
   1121         elif orient == "split":

ValueError: Expected object or value

1尝试:

# working with json
import pandas as pd
df = pd.read_json("/content/drive/MyDrive/Datasets/sample3.json") 
#df = pd.read_json("/content/drive/MyDrive/Datasets/sample3.json", lines=True)  #also tried 
#df = pd.read_json("/content/drive/MyDrive/Datasets/sample3.json", lines=True, orient='records') # also tried 
#df = pd.read_json("/content/drive/MyDrive/Datasets/sample3.json", orient=str) # also tried 
df.head()

Json文件:

[
    {
        color: "red",
        value: "#f00"
    },
    {
        color: "green",
        value: "#0f0"
    },
    {
        color: "blue",
        value: "#00f"
    },
    {
        color: "cyan",
        value: "#0ff"
    },
    {
        color: "magenta",
        value: "#f0f"
    },
    {
        color: "yellow",
        value: "#ff0"
    },
    {
        color: "black",
        value: "#000"
    }
]

Tags: jsontruepandasdfreadvaluedrivecontent
2条回答

这实际上只是一个JSON问题。如果我在IDE中创建JSON文件,我会立即收到格式错误,因为该文件没有正确编码。它说:

property keys must be doublequoted

如果我更换

[
    {
        "color": "red",
        "value": "#f00"
    },
    {
        "color": "green",
        "value": "#0f0"
    }
]

我现在可以使用

df = pd.read_json("file.json") 
print(df)

得到

   color value
0    red  #f00
1  green  #0f0

是无效的JSON

JSON必须用双引号引用其对象的键,如下所示:

{
    "color": "red",
    "value": "#f00"
}

相关问题 更多 >