Итерация по XML и сохранение текста как CSV - PullRequest
2 голосов
/ 11 июня 2019

Мне нужно перебрать мой xml и вывести текст в пределах города и snm <> и передать их в CSV с именами столбцов city и name.

Я пробовал это с помощью функции iter () с elementtree, и я могу видеть свои результаты, когда применяю print .text, но когда я сохраняю их в виде данных, только имена выводятся правильно, города выводят один и тот же один несколько раз.

import xml.etree.ElementTree as ET
import csv

tree = ET.parse("EP02736775NWB1.xml")
root = tree.getroot()

with open('patent.csv', 'w', newline='') as patent:
writer = csv.writer(patent)
writer.writerow(['City', 'Name'])

for city in root.iter('city'):
    cities = city.text
    print(cities)
for name in root.iter('snm'):
    names = name.text
    print(names)

    row = (cities, names)
    writer.writerow(row)

    df = pd.read_csv('patent.csv')
    df.head()

Я бы ожидал, что в фрейме данных будет столбец со списком городов и столбец со списком имен

...