Как извлечь содержимое из раздела XML на основе значения поля с помощью Python - PullRequest
0 голосов
/ 01 мая 2018

Я хочу извлечь содержимое из файла 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 (фрагменты). Это создает проблему. Я не знаю, есть ли в тренировочных данных фрагменты для какой-то части тела. Но это создает проблему в отображении и, следовательно, извлечения. Я думал, смогу ли я просто извлечь тело, идентификатор и фрагменты типа = "резюме". Обратитесь за помощью!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...