读取包含JSON文档流的文件

时间:2016-01-06 21:56:22

标签: python json

我有一个输入文件,每行有一个JSON文档。我试着按如下方式阅读:

auth_record = json.load(line)
  File "/opt/anaconda/anaconda/lib/python2.7/json/__init__.py", line 286, in load
    return loads(fp.read(),
 AttributeError: 'str' object has no attribute 'read'

我得到了以下错误。出了什么问题?

{{1}}

2 个答案:

答案 0 :(得分:0)

如果你正在解析一个字符串(就像你在for line in file中得到的那样),请使用json.loads(),而不是json.load() [需要类似文件的对象,因此在抱怨时你把它传给了一个字符串而不是]。

因此像:

for line in infile:
    auth.append(json.loads(line))

答案 1 :(得分:-3)

Ussualy这个错误可能是因为unicode编码,

尝试将此指令放在代码文件的第一行

# -*- coding: utf-8 -*-

否则尝试打开文件,编辑带有troublemaker char的行并在问题中添加错误以帮助您更好地