Как преобразовать несколько файлов XML в CSV с помощью Python? - PullRequest
0 голосов
/ 28 мая 2018
<?xml version="1.0" encoding="UTF-8"?><document>
    <Task>"Test"</Task>
    <author Test="xxx" lang="EN" type="Twitter"/>
    <comments>Text Text Text Text.
</comments>
</document>

Выше приведен мой образец XML. Нужно преобразовать этот XML и записать в CSV с помощью

1 Ответ

0 голосов
/ 28 мая 2018

Использование ElementTree

Демонстрация:

from xml.etree import ElementTree as ET
import os
import csv

res = []

for filename in os.listdir(path):     #Check Dir For file
    if filename.endswith('.xml'):     #Check if extension is '.xml'
        filePath = os.path.join(path, filename)
        x = ET.parse(filePath)        #Read xml using 'ET.parse'
        res.append([x.find("Task").text.strip(), x.find("author").attrib["type"], x.find("comments").text.strip()])    #Get required values. 

with open(r"C:\Users\zk0h098\Desktop\testFiles\A.csv", "w") as infile:
    writer = csv.writer(infile, delimiter=",")
    writer.writerow(["Task", "Author", "Comments"])    #Write Header
    for line in res:
        writer.writerow(line)                     #Write content
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...