Python читает XML-файл и конвертировать в CSV-файл - PullRequest
1 голос
/ 26 апреля 2019

Я пытаюсь преобразовать XML-файл в CSV-файл. Как читать и анализировать XML-файл и конвертировать в CSV? Есть ли пакет для преобразования xml в csv.

<services>
    <service>
        <ServiceID>1</ServiceID>
        <ServiceName>eVoting Booth</ServiceName>
    </service>
    <service>
        <ServiceID>2</ServiceID>
        <ServiceName>Justice of the Peace</ServiceName>
    </service>
    <service>
        <ServiceID>3</ServiceID>
        <ServiceName>Library</ServiceName>
    </service>
        <service>
        <ServiceID>4</ServiceID>
        <ServiceName>Customer Service</ServiceName>
    </service>
    <service>
        <ServiceID>5</ServiceID>
        <ServiceName>Migrant Service</ServiceName>
    </service>
</services>

Я хочу результат как

ServiceID | ServiceName
1         | Library
2         | Justice of the Peace

1 Ответ

0 голосов
/ 26 апреля 2019

что-то вроде этого может работать:

from lxml import etree
import pandas as pd

tree = etree.parse("input.xml")

df = pd.DataFrame({
    "ServiceID" : tree.xpath('/services/service/ServiceID/text()'),
    "ServiceName" : tree.xpath('/services/service/ServiceName/text()')
})

df.to_csv("output.csv", sep="|", index = None)

это производит

ServiceID|ServiceName
1|eVoting Booth
2|Justice of the Peace
3|Library
4|Customer Service
5|Migrant Service
...