Python XML中缺少包装器
我试图将特定数据从一个大XML拉到另一个大XML。我的主XML文件如下所示Python XML中缺少包装器,python,xml,pandas,Python,Xml,Pandas,我试图将特定数据从一个大XML拉到另一个大XML。我的主XML文件如下所示 <MAIN> <transaction> <date>20190415</date> <ticket>1</ticket> <value>15</value> </transaction> <transaction> <date>
<MAIN>
<transaction>
<date>20190415</date>
<ticket>1</ticket>
<value>15</value>
</transaction>
<transaction>
<date>20190415</date>
<ticket>2</ticket>
<value>15</value>
</transaction>
<transaction>
<date>20190415</date>
<ticket>3</ticket>
<value>15</value>
</transaction>
<transaction>
<date>20190415</date>
<ticket>4</ticket>
<value>15</value>
</transaction>
<transaction>
<date>20190415</date>
<ticket>5</ticket>
<value>15</value>
</transaction>
</MAIN>
<Transaction>
<ticket>1</ticket>
</Transaction>
<Transaction>
<ticket>2</ticket>
</Transaction>
<Transaction>
<ticket>3</ticket>
</Transaction>
<Transaction>
<ticket>4</ticket>
</Transaction>
<Transaction>
<ticket>5</ticket>
</Transaction>
我得到的是一个没有外部标记的纯文本文件。如下
<MAIN>
<transaction>
<date>20190415</date>
<ticket>1</ticket>
<value>15</value>
</transaction>
<transaction>
<date>20190415</date>
<ticket>2</ticket>
<value>15</value>
</transaction>
<transaction>
<date>20190415</date>
<ticket>3</ticket>
<value>15</value>
</transaction>
<transaction>
<date>20190415</date>
<ticket>4</ticket>
<value>15</value>
</transaction>
<transaction>
<date>20190415</date>
<ticket>5</ticket>
<value>15</value>
</transaction>
</MAIN>
<Transaction>
<ticket>1</ticket>
</Transaction>
<Transaction>
<ticket>2</ticket>
</Transaction>
<Transaction>
<ticket>3</ticket>
</Transaction>
<Transaction>
<ticket>4</ticket>
</Transaction>
<Transaction>
<ticket>5</ticket>
</Transaction>
1.
2.
3.
4.
5.
这里缺少的是包装器
标记。要实现这一点,我的代码中应该更改哪些内容?替换以下内容:
with open(path_dest,'wb') as f:
for i in L_roots:
ET.Element('MAIN')
f.write(ET.tostring(i, method="xml"))
为此:
outroot = ET.Element('MAIN')
outroot.extend(L_roots)
with open(path_dest,'wb') as f:
f.write(ET.tostring(outroot, method="xml"))
代码段中的错误是您从未将新的ET.Element('MAIN')
保存到变量中,因此该变量将丢失。当使用f.write
时,您只需在L_根
中写入元素,其中包含事务标记
在我提议的代码片段中,所有
L_根
元素都被插入到另一个主元素中,然后主元素被写入(其所有子元素都被自动写入)。熊猫在问题中的位置(为什么熊猫标签)?