合并一个文件夹下所有的xml文件 python
时间: 2023-08-04 09:32:52 浏览: 107
要合并一个文件夹下所有的XML文件,可以使用Python中的os模块和ElementTree模块。具体步骤如下:
1.导入os和ElementTree模块:
```
import os
import xml.etree.ElementTree as ET
```
2.定义一个函数,用于合并两个XML文件:
```
def merge_xml_files(file1, file2):
tree1 = ET.parse(file1)
root1 = tree1.getroot()
tree2 = ET.parse(file2)
root2 = tree2.getroot()
for child in root2:
root1.append(child)
tree1.write(file1)
```
3.获取文件夹下所有的XML文件路径:
```
dir_path = './xml_folder'
xml_files = [os.path.join(dir_path, f) for f in os.listdir(dir_path) if f.endswith('.xml')]
```
4.使用for循环,将每个XML文件与第一个XML文件合并:
```
for i in range(1, len(xml_files)):
merge_xml_files(xml_files[0], xml_files[i])
```
完整代码示例如下:
```
import os
import xml.etree.ElementTree as ET
def merge_xml_files(file1, file2):
tree1 = ET.parse(file1)
root1 = tree1.getroot()
tree2 = ET.parse(file2)
root2 = tree2.getroot()
for child in root2:
root1.append(child)
tree1.write(file1)
dir_path = './xml_folder'
xml_files = [os.path.join(dir_path, f) for f in os.listdir(dir_path) if f.endswith('.xml')]
for i in range(1, len(xml_files)):
merge_xml_files(xml_files[0], xml_files[i])
```
注意:合并后的XML文件将会覆盖第一个XML文件,如果需要保留原文件,请在合并前备份原文件。
阅读全文