在csv python中转换xml文本

时间:2018-01-11 20:03:44

标签: python xml csv parsing

我有一个csv文件,其中一列信息是XML格式的。我希望能够将这些信息解析为单独的列并重新保存。我试图用python做这个,但我没有太多运气。我已经看过堆栈交换上的类似问题,但我仍然无法知道该怎么做。

感谢您的高级帮助!

ķ

1 个答案:

答案 0 :(得分:1)

ElementTree是一个python XML解析器(https://docs.python.org/2/library/xml.etree.elementtree.html

将CSV单元格中的XML文字解析为字符串,然后遍历元素并重新保存它们:

from xml.etree.ElementTree import XML

parsed = XML('''
<root>
  <group>
    <child id="a">This is child "a".</child>
    <child id="b">This is child "b".</child>
  </group>                                     // replace this with a variable that contains your XML string literals
  <group>
    <child id="c">This is child "c".</child>
  </group>
</root>
''')

print 'parsed =', parsed

for elem in parsed:
    print elem.tag
    if elem.text is not None and elem.text.strip():
        print '  text: "%s"' % elem.text
    if elem.tail is not None and elem.tail.strip():
        print '  tail: "%s"' % elem.tail
    for name, value in sorted(elem.attrib.items()):
        print '  %-4s = "%s"' % (name, value)
    print

来源:https://pymotw.com/2/xml/etree/ElementTree/parse.html#parsing-strings

或者您可以直接转换XML单元格:

http://blog.appliedinformaticsinc.com/how-to-parse-and-convert-xml-to-csv-using-python/