Python中XML到DF的转换

Python中XML到DF的转换,python,xml,dataframe,Python,Xml,Dataframe,我正在打开一个大的xml文件,在这里我使用以下代码获得了一些结果: import os import xml.etree.ElementTree as et base_path=os.path.dirname(os.path.realpath(__file__)) xml_file=os.path.join(base_path,'my xml path file') tree=et.parse(xml_file) root=tree.getroot() for child in root:

我正在打开一个大的xml文件,在这里我使用以下代码获得了一些结果:

import os
import xml.etree.ElementTree as et
base_path=os.path.dirname(os.path.realpath(__file__))

xml_file=os.path.join(base_path,'my xml path file')
tree=et.parse(xml_file)
root=tree.getroot()

for child in root:
    for element in child:
        print (element.tag,':',element.text)
        for one in element:
            print(one.tag,':',one.text)
结果示例:

code_one : a
value_one : blue
default: 3

code_one : a
value_one : black
default: 12

code_one : b
value_one : green
default: 4

Rte:
Rte:
到目前为止,一切都很清楚,但我想将打印到数据帧的输出保存到文件中,或者如果出现问题,则保存到文件中,然后打开此文件并另存为DF

我需要将输出转换为如下所示:

code_one, value_one, default
a, blue, 3       
a, black, 12
b, green, 4

感谢您的建议

尝试以下方法:

header = ["code_one", "value_one", "default"]
vals =[]
for child in root:
    for element in child:
        if header == [element.tag] + [x.tag for x in element]:
            vals.append([element.text] + [x.text for x in element]
print(", ".join(header))
for v in vals:
    print(", ".join(v))
我无法验证上面的代码是否有效,因为您没有提供示例文件,但应该提供。这有帮助吗?

这解决了我的问题: 我已经将输出写入文件,然后在dataframe中使用pandas打开 以下是如何保存输出:

f=open('file.txt','w')
for child in root:
    for element in child:
        f.write(str(element.tag)+':'+str(element.text))
        for one in element:
            f.write(str(one.tag)+':'+str(one.text))
f.close()

hey@Felix我收到:`print,.join*v TypeError:join只接受一个给定的参数2`,请注意,在DF中我只需要添加代码\ 1、值\ 1和默认值,而不是其他数据,如Rte:谢谢,在第6行中,您最后忘记了“”,这次我收到的流程仅使用退出代码0,很抱歉,我不能在这里发布源数据,但它受限制,而且太大了