我试图从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'
答案 0 :(得分:3)
您想使用json.loads()
(请注意s
),或传递文件对象而不是.read()
的结果:
text = open('path/temp')
data = json.load(text)
json.load()
接受一个打开的文件对象,但是你传递了一个字符串; json.loads()
需要一个字符串。