我想要这样的东西:
[
('Urbandale paid the Regional Municipality of Ottawa-Carleton "redevelopment" charges',
{'entities': [(0, 9, 'PLTF')]}),
('Urbandale carries on business as a land developer.',
{'entities': [(0, 9, 'PLTF')]})
]
我可以将它设置为一个变量并让它工作,但现在我正在尝试自动构建JSON数组。这个好像是非传统的格式?i、 为什么句子后面有逗号而不是:
不管怎样,这是spacy所要求的格式。 我试着编一本字典然后json.dumps文件到一个json对象中,这要简单得多,但是需要的是一个数组。你知道吗
我看了这篇文章:Python - Create array of json objects from for loops并尝试了建设性的迭代,但我只是得到了一个无效的语法错误
spans = []
for mention in mentions:
mention = str(mention)
for f in re.finditer(subj, mention):
spans.append(f.span())
train_data = [{mention, "entities": (f.span()[0], f.span()[1], 'PLTF')} for mention, span in zip(mentions, spans)]
编辑:使用json.load文件(),TEST_DATA[0][1](我想要的结构)产生的结果与TRAIN_DATA[0][1]几乎相同,只是dict内部有一个额外的()值。我很确定是它导致了这个错误:TypeError:'int'object is not iterable。那我怎么插进去呢?如果我只是在它周围加上一个()的话,python就会解析它并将其删除。你知道吗
已解决:只需多放一个[]
谢谢
实际上,您需要的是一个元组列表,其中str作为第一个元素,dict作为第二个元素。简单地放更多的括号和移动你的咖喱括号。你知道吗
相关问题 更多 >
编程相关推荐