Я хочу извлечь содержимое из файла xml на основе значения типа поля. По сути, это был файл json, который я преобразовал в xml. В файле есть поля body, id, type и фрагменты.
Я хочу извлечь содержимое всех этих полей, если 'type =' summary '.
Код, который я сделал, дан:
def load_extract(data):
path=""
soup = BeautifulSoup(open(path),"html.parser")
q1=[]
qtype=[]
snippets=[]
for q in soup.findAll('body'):
q=q.text
q1.append(q)
for types in soup.findAll('type'):
type1=types.text
qtype.append(type1)
snippets=soup.findAll('snippets')
summary_ids=[]
summary_dict=[]
for i in range (0, len(qtype)):
print "extracting the summary type question"
if qtype[i]=='summary':
summary_ids.append(i)
for j in summary_ids:
summary_dict.append({q1[j]:snippets[j]})
return summary_dict
Код отлично работает на небольшом наборе, который я запускаю, но с большим набором len (q1) не равно len (фрагменты). Это создает проблему. Я не знаю, есть ли в тренировочных данных фрагменты для какой-то части тела. Но это создает проблему в отображении и, следовательно, извлечения.
Я думал, смогу ли я просто извлечь тело, идентификатор и фрагменты типа = "резюме".
Обратитесь за помощью!