读取JSON文件

时间:2018-10-01 04:06:52

标签: python json

我试图将JSON文件读入python,但是在代码给我一个错误之后,我正在运行一个测试脚本。

这是我的函数调用时要读取的JSON文件中的代码。数据文件保存在同一台服务器上,该文件没有任何已知问题。

def read_json(data_file):
    '''
A function which reads in a JSON file.


Parameters
-------
data_file: a string, the name of the file to be read in.


Returns
--------

data: a Python list containing the read in data from the json file.

'''
    with open(data_file) as fin:
        data = json.load(fin)

    return data

这是调用该函数的测试脚本。

data_file = './data/dow_jones.json'
data = read_json(data_file)

这是我从上次通话中收到的错误。

JSONDecodeError: Expecting value: line 1 column 1 (char 0)

1 个答案:

答案 0 :(得分:1)

JSONDecodeError表示文件已损坏或未在正确的模式下打开。

  • 检查文件的前几行看起来像JSON。您也可以将文件的内容粘贴到JSON validator中。
  • 检查文件编码是否与python的默认编码匹配。如果文件是带有BOM表的encoding="utf-8",而您在Windows上并尝试将其读取为encoding="latin-1252",则可能会导致此错误。打开文件时,您可能需要指定一种编码,例如with open(data_file, encoding='utf-8', errors='replace')