在解析json文件中的数据时,在Python 3.6上使用该结构时遇到错误:
for topic in data:
cqas = [{'context': paragraph['context'],
'id': qa['id'],
'question': qa['question'],
'answer': qa['answers'][0]['text'],
'answer_start': qa['answers'][0]['answer_start'],
'answer_end': qa['answers'][0]['answer_start'] + \
len(qa['answers'][0]['text']) - 1,
'topic': topic['title'] }
for paragraph in topic['paragraphs']
for qa in paragraph['qas']]
如上所述,我在字典列表中找不到有关使用for循环的文档。我想学习它,因为使用该结构时还会收到一条错误消息:
数据集:https://raw.githubusercontent.com/YerevaNN/R-NET-in-Keras/master/data/dev-v1.1.json
答案 0 :(得分:0)
代码中的/api/Foos$expand=man($expand=chu)
部分抛出错误,因为len(qa['answers'][0]['text'])
需要一个字符串。您可以通过在python解释器中输入len()
来验证自己。检查您的数据,qa ['answers']数组中的'text'键是否在某处包含整数值。或者,如果您确实需要整数,则修改代码。
我从您提供的原始代码和数据中提取了一部分,并解析了无抛出错误。由于您提到您使用的是“相似”数据集,所以我假设您或其他人修改了内容...
(如果您提供原始数据您的数据集和代码会很有帮助)