0

我正在尝试从 json 数据中提取一些信息。在下面的代码中,我首先提取包含我想要的信息的部分 json 数据并将其存储在一个文件中。然后我试图打开这个文件,我得到了我的代码后面的错误。你能帮我找出我错在哪里吗?

import json
import re

input_file = 'path'
text = open(input_file).read()
experience = re.findall(r'Experience":{"positionsMpr":{"showSection":true,"  (.+?),"visible":true,"find_title":"Find others',text)
output_file = open ('/home/evi.nastou/Documenten/LinkedIn_data/Alewijnse/temp', 'w')
output_file.write('{'+experience[0]+'}')
output_file.close()

text = open('path/temp')
input_text = text.read()
data = json.load(input_text)
positions = json.dumps([s['companyName'] for s in data['positions']])
print positions

错误:

Traceback (most recent call last):
  File "test.py", line 13, in <module>
    data = json.load(input_text)
  File "/home/evi.nastou/.pythonbrew/pythons/Python-2.7.2/lib/python2.7/json/__init__.py", line 274, in load
     return loads(fp.read(),
 AttributeError: 'str' object has no attribute 'read'
4

1 回答 1

3

您想使用json.loads()(注意s),传入文件对象而不是结果.read()

text = open('path/temp')
data = json.load(text)

json.load()接受一个打开的文件对象,但你传递给它一个字符串;json.loads()接受一个字符串。

于 2013-04-25T10:45:18.860 回答