我從文件來源的Elasticsearch使用JSON的字典,看起來像這樣:的Python 2疊代嵌套JSON字典
{
u'hits':{
u'hits':[
{
u'_score':1.0,
u'_type':u'input',
u'_id':u'1',
u'_source':{
u'message':u'I really love fake news tho.'
},
u'_index':u'gossip'
}
],
u'total':1,
u'max_score':1.0
},
u'_shards':{
u'successful':1,
u'failed':0,
u'total':1
},
u'took':3,
u'timed_out':False
}
有幾千個文件,我希望得到每個列表'消息'值。我嘗試了幾種方法,但似乎無法獲得正常運行的解決方案。我現在的嘗試是:
messages = es.search(index="gossip", _source=['message'])
for key, value in messages.iteritems():
print key, value
導致:
hits{
u'hits':[
{
u'_score':1.0,
u'_type':u'input',
u'_id':u'1',
u'_source':{
u'message':u'I really love fake news tho.'
},
u'_index':u'gossip'
}
],
u'total':1,
u'max_score':1.0
}_shards{
u'successful':1,
u'failed':0,
u'total':1
}
希望有人能輕推我在正確的方向。
嘗試'消息[0] .itertools()' –
否運氣'爲鍵,在信息中值[0] .itertools(): KeyError異常:0' – nmacc
假定該您的文檔列表是一個名爲docs的數組,您是否可以像下面這樣引用它:docs'docs''hits'] ['hits'] [0] ['_ source'] ['message'] for doc in docs] ' – nb1987