【发布时间】:2017-04-14 17:04:50
【问题描述】:
我有这个嵌套的 json 项目,我只想将它展平为一个逗号分隔的字符串(即 parkinson:5,billy mays:4),以便在需要时将其存储在数据库中以供将来分析。我写了下面的函数,但想知道是否有使用列表理解(或其他东西)的更优雅的方式。我找到了这篇文章,但我不确定如何根据我的需要调整它 (Python - parse JSON values by multilevel keys)。
数据如下所示:
{'persons':
[{'name': 'parkinson', 'sentiment': '5'},
{'name': 'knott david', 'sentiment': 'none'},
{'name': 'billy mays', 'sentiment': '4'}],
'organizations':
[{'name': 'piper jaffray companies', 'sentiment': 'none'},
{'name': 'marketbeat.com', 'sentiment': 'none'},
{'name': 'zacks investment research', 'sentiment': 'none'}]
'locations': []
}
这是我的代码:
def parse_entities(data):
results = ''
for category in data.keys():
# for c_id, category in enumerate(data.keys()):
entity_data = data[category]
for e_id, entity in enumerate(entity_data):
if not entity_data[e_id]['sentiment'] == 'none':
results = results + (data[category][e_id]['name'] + ":" +
data[category][e_id]['sentiment'] + ",")
return results
【问题讨论】:
-
为什么不使用csv library?
-
我可以用它来解析数据并将其组合成一个长字符串吗?我不想将它保存为文件,我只想要一个逗号分隔的字符串。我已经更新了我的问题。