Этот вопрос является продолжением моего предыдущего поста: Как преобразовать xml файл в формат csv в python?
Опять же, у меня есть основа c XML файл, который извлекается из базы данных вне моего контроля.
<?xml version="1.0" encoding="utf-8"?>
<data>
<Job1Start><Time>20200202055415725</Time></Job1Start>
<Job1End><Time>20200202055423951</Time></Job1End>
<Job2Start><Time>20200202055810390</Time></Job2Start>
<Job3Start><Time>20200202055814687</Time></Job3Start>
<Job2End><Time>20200202055819000</Time></Job2End>
<Job3End><Time>20200202055816708</Time></Job3End>
<Job1Start><Time>20200203053415725</Time></Job1Start>
<Job1End><Time>20200203056423951</Time></Job1End>
</data>
Мой текущий код показан ниже:
import xml.etree.ElementTree as ET
import csv
tree = ET.parse('StackedExample.xml')
root = tree.getroot()
with open('Output.csv', 'w', newline='') as csv_file:
writer = csv.writer(csv_file)
writer.writerow('Task Start Finish'.split())
tasklist = ['Job1', 'Job2','Job3']
for Task in tasklist:
start = root.find(f'.//{Task}Start/Time').text
end = root.find(f'.//{Task}End/Time').text
writer.writerow([f'{Task}',start,end])
print(f'{Task}',start,end)
Это выводит ниже, но дает только один вывод для "Job1":
Task Start Finish
Job1 20200202055415725 20200202055423951
Job2 20200202055810390 20200202055819000
Job3 20200202055814687 20200202055816708
Я ищу что-то вроде этого:
Task Start Finish
Job1 20200202055415725 20200202055423951
Job1 20200203053415725 20200203056423951
Job2 20200202055810390 20200202055819000
Job3 20200202055814687 20200202055816708
Есть идеи?