我使用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
答案 0 :(得分:1)
基于我对texts
实际包含的内容的最佳猜测(发布的内容不是有效的Python表达式),看起来您需要这样的内容:
for text in texts:
document += texts[text][0]['description']