错误:数组索引不能是字符串

时间:2016-09-26 14:22:54

标签: python-2.7

我使用Python从JSON中的响应中提取特定的字符串。

def extract_description(texts):
"""Returns all the text in text annotations as a single string"""
document = ''
for text in texts:
    try:
        document += text['description']
    except KeyError as e:
        print('KeyError: %s\n%s' % (e, text))
return document

但我收到错误:Error: array indices cannot be string。我尝试使用:

for text in texts:
     try:
         if text == 'description':
             document += text
     except KeyError as e:
         print('KeyError: %s\n%s' % (e, text))
return document

但结果是'',文档为空。还有另一种更好的方法吗?

文本是:

   {u'textAnnotations': [{u'locale': u'eo', u'description': 
    u"...discovered
    text....", u'boundingPoly': {u'vertices': [{u'y': 32, u'x': 21},    
    {u'y': 32,
    u'x': 954}, {u'y': 685, u'x': 954}, {u'y': 685, u'x': 
    21}]}}]}]}**strong text**

此代码由Google Cloud API提供。 https://github.com/GoogleCloudPlatform/cloud-vision/tree/master/python/text

1 个答案:

答案 0 :(得分:1)

基于我对texts实际包含的内容的最佳猜测(发布的内容不是有效的Python表达式),看起来您需要这样的内容:

for text in texts:
    document += texts[text][0]['description']