我已經(jīng)掌握了 Python 編程的基礎(chǔ)知識,目前正在學(xué)習(xí)數(shù)據(jù)科學(xué)。在嘗試將 json 文件內(nèi)容轉(zhuǎn)換為數(shù)據(jù)庫時,我運行的代碼之一是:with open('newyork_data.json') as json_data:
newyork_data = json.load(json_data)此命令在基于服務(wù)器的環(huán)境中運行完全正常,但由于某種原因顯示錯誤:JSONDecodeError: Expecting value: line 1 column 1 (char 0)在基于本地 anaconda 的環(huán)境中運行時。我找不到發(fā)生這種情況的原因,有人可以幫助我嗎?附件:-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 回答

料青山看我應(yīng)如是
TA貢獻1772條經(jīng)驗 獲得超8個贊
錯誤消息表明該文件為空。查看文件中的內(nèi)容:JSON 文件通常以字符“{”開頭。確保您查看的是文件的正確副本 - 如果當前工作目錄與您預(yù)期的不同,您可能會得到同名的不同文件。
桌面環(huán)境和服務(wù)器環(huán)境之間的另一個可能差異是默認文本編碼。如果您指定顯式編碼,并且文件內(nèi)容相同,那么您的代碼在兩個地方的行為都相同。JSON 的正常編碼是 UTF-8,使用它你會得到:
with open('newyork_data.json', encoding='utf-8') as json_data: newyork_data = json.load(json_data)
添加回答
舉報
0/150
提交
取消