我已经掌握了 Python 编程的基础知识,目前正在学习数据科学。在尝试将 json 文件内容转换为数据库时,我运行的代码之一是:with open('newyork_data.json') as json_data:
newyork_data = json.load(json_data)此命令在基于服务器的环境中运行完全正常,但由于某种原因显示错误:JSONDecodeError: Expecting value: line 1 column 1 (char 0)在基于本地 anaconda 的环境中运行时。我找不到发生这种情况的原因,有人可以帮助我吗?附件:-Google Collab 中的部分语法:- https://colab.research.google.com/drive/1eAWDfMWg2SIkfka_N8pD5o-gV34w9Ew0?usp=sharing完全错误:- JSONDecodeError Traceback (most recent call last) <ipython-input-53-1adb23907f4f> in <module> 1 with open('newyork_data.json') as json_data: ----> 2 newyork_data = json.load(json_data) ~\Anaconda3\lib\json\__init__.py in load(fp, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw) 294 cls=cls, object_hook=object_hook, 295 parse_float=parse_float, parse_int=parse_int, --> 296 parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw) 297 298 ~\Anaconda3\lib\json\__init__.py in loads(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw) 346 parse_int is None and parse_float is None and 347 parse_constant is None and object_pairs_hook is None and not kw): --> 348 return _default_decoder.decode(s) 349 if cls is None: 350 cls = JSONDecoder ~\Anaconda3\lib\json\decoder.py in decode(self, s, _w) 335 336 """ --> 337 obj, end = self.raw_decode(s, idx=_w(s, 0).end()) 338 end = _w(s, end).end() 339 if end != len(s):
1 回答
料青山看我应如是
TA贡献1772条经验 获得超7个赞
错误消息表明该文件为空。查看文件中的内容:JSON 文件通常以字符“{”开头。确保您查看的是文件的正确副本 - 如果当前工作目录与您预期的不同,您可能会得到同名的不同文件。
桌面环境和服务器环境之间的另一个可能差异是默认文本编码。如果您指定显式编码,并且文件内容相同,那么您的代码在两个地方的行为都相同。JSON 的正常编码是 UTF-8,使用它你会得到:
with open('newyork_data.json', encoding='utf-8') as json_data: newyork_data = json.load(json_data)
添加回答
举报
0/150
提交
取消