使用SAX Python将XML转换为CSV

时间:2013-04-06 16:25:10

标签: python xml sax

我有一个XML文件,其数据量很大。

XML文件包含

<us-bibliographic-data-grant>
    <publication-reference>
        <document-id>
            <country>US</country>
            <doc-number>D0607176</doc-number>
            <kind>S1</kind>
            <date>20100105</date>
        </document-id>
    </publication-reference>

    <application-reference appl-type="design">
        <document-id>
            <country>US</country>
            <doc-number>29327507</doc-number>
            <date>20081107</date>
        </document-id>
    </application-reference>

    <invention-title id="d0e55">Doughnut product with six appendages</invention-title>

    <applicants>
        <applicant sequence="001" app-type="applicant-inventor" designation="us-only">
            <addressbook>
            <last-name>Peters</last-name>
            <first-name>Brian Jeffery</first-name>
                <address>
                    <street>7052 Moonlight Cir.</street>
                    <city>Huntington Beach</city>
                    <state>CA</state>
                    <postcode>92647</postcode>
                    <country>US</country>
                </address>
            </addressbook>
            <nationality>
                <country>omitted</country>
            </nationality>
            <residence>
                <country>US</country>
            </residence>
        </applicant>
    </applicants>
</us-bibliographic-data-grant>

如何获得这样的输出

last-name,first-name,street,city,state,postcode,country
peters,brian jeffery, 7052 moonlight cir.,huntington beach,CA,92647

我对XML没有任何经验,请帮忙 在这个XML代码中,有许多<addressbook>。那么如何在第一行的applicant中获取所有属性,并且所有值都填充下一行。我想这样做是因为我想稍后将csv文件导入sql。

1 个答案:

答案 0 :(得分:0)

如果您只想将一种文件类型转换为另一种文件类型,则应使用工具。这是一个建议 - https://code.google.com/p/xml2csv-conv/

我曾经使用xslt,因为我有复杂的xml文档需要解释。