我试图用pandas打开JSON文件,但收到多个错误:
df = pd.read_json('offers_feed_01.json', lines = True, orient = "split")
我运行此代码并收到:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-10-ba348dcc5991> in <module>
----> 1 df = pd.read_json('offers_feed_01.json', lines = True, orient = "split")
/opt/anaconda3/lib/python3.8/site-packages/pandas/util/_decorators.py in wrapper(*args, **kwargs)
197 else:
198 kwargs[new_arg_name] = new_arg_value
--> 199 return func(*args, **kwargs)
200
201 return cast(F, wrapper)
/opt/anaconda3/lib/python3.8/site-packages/pandas/util/_decorators.py in wrapper(*args, **kwargs)
294 )
295 warnings.warn(msg, FutureWarning, stacklevel=stacklevel)
--> 296 return func(*args, **kwargs)
297
298 return wrapper
/opt/anaconda3/lib/python3.8/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, nrows)
616 return json_reader
617
--> 618 result = json_reader.read()
619 if should_close:
620 filepath_or_buffer.close()
/opt/anaconda3/lib/python3.8/site-packages/pandas/io/json/_json.py in read(self)
751 data = ensure_str(self.data)
752 data = data.split("\n")
--> 753 obj = self._get_object_parser(self._combine_lines(data))
754 else:
755 obj = self._get_object_parser(self.data)
/opt/anaconda3/lib/python3.8/site-packages/pandas/io/json/_json.py in _get_object_parser(self, json)
775 obj = None
776 if typ == "frame":
--> 777 obj = FrameParser(json, **kwargs).parse()
778
779 if typ == "series" or obj is None:
/opt/anaconda3/lib/python3.8/site-packages/pandas/io/json/_json.py in parse(self)
884
885 else:
--> 886 self._parse_no_numpy()
887
888 if self.obj is None:
/opt/anaconda3/lib/python3.8/site-packages/pandas/io/json/_json.py in _parse_no_numpy(self)
1122 decoded = {
1123 str(k): v
-> 1124 for k, v in loads(json, precise_float=self.precise_float).items()
1125 }
1126 self.check_keys_split(decoded)
ValueError: Expected object or value
该文件位于正确的位置,我已经多次更改了方向,并且我使用相同的代码运行了另一个类似的文件,并且工作正常。我正在运行的.json文件如下所示:
{
"offers": [
{
"offerType": "mobile-app",
"linkDest": "app-store",
"convertsOn": "install-and-open",
"appInfo": {
"appID": "",
"previewLink": "",
"appName": "Housejoy",
"appCategory": "Lifestyle",
"appIcon": ""
},
"targets": [
{
"offerID": "",
"approvalStatus": "approved",
"offerStatus": "active",
"trackingLink": "",
"countries": [
"IN"
],
"platforms": [
"iphone"
],
"payout": {
"amount": 0.94,
"currency": "USD"
},
"endDate": null,
"dailyConversionCap": null,
"restrictions": {
"allowIncent": false,
"deviceIDRequired": false,
"sourceAppIDRequired": false,
"minOSVersion": "9.0",
"allowedPlacements": null,
"blockedPlacements": []
}
}
]
},
我已经尝试删除{"offers":
,但也没有成功。
有人知道会有什么问题吗
尝试打开并读取数据,然后使用pandas读取数据。您将发现几个嵌套列表,它们没有解析到您可能需要的级别。但看看这是否能让你开始
.json
文件格式不正确。使用诸如https://jsonlint.com/之类的工具验证相关问题 更多 >
编程相关推荐