python提取文件夹内的所有xml文件
时间: 2023-05-31 14:04:20 浏览: 137
可以使用Python的os模块和glob模块来实现这个任务。
方法一:
```python
import os
folder_path = 'your_folder_path'
xml_files = []
# 遍历文件夹
for dirpath, dirnames, filenames in os.walk(folder_path):
# 遍历文件
for filename in filenames:
# 判断文件名是否以.xml结尾
if filename.endswith('.xml'):
# 添加到xml_files列表中
xml_files.append(os.path.join(dirpath, filename))
# 输出xml_files列表
print(xml_files)
```
方法二:
```python
import glob
folder_path = 'your_folder_path'
# 使用glob模块查找所有的xml文件
xml_files = glob.glob(folder_path + '/**/*.xml', recursive=True)
# 输出xml_files列表
print(xml_files)
```
这两个方法都可以提取文件夹内的所有xml文件,并将它们存储在一个列表中。你可以根据自己的需求选择其中的一个方法。
相关问题
python提取文件夹中所有xml格式文件里的表格
可以用Python中的xml.etree.ElementTree模块来提取xml文件中的表格,具体实现可以参考以下代码:
```python
import os
import xml.etree.ElementTree as ET
def extract_table_from_xml_folder(folder_path):
for file_name in os.listdir(folder_path):
if file_name.endswith('.xml'):
xml_path = os.path.join(folder_path, file_name)
root = ET.parse(xml_path).getroot()
# 提取表格
for table in root.iter('Table'):
table_content = []
for row in table.iter('Row'):
row_content = []
for cell in row.iter('Cell'):
cell_content = ''.join([node.text for node in cell.iter() if node.text])
row_content.append(cell_content)
table_content.append(row_content)
print(table_content)
# 示例用法
extract_table_from_xml_folder('/path/to/folder')
```
这段代码会遍历指定文件夹下的所有xml文件,提取其中的表格,并将表格的内容以二维列表的形式打印出来。如果要将表格保存到文件中,可以使用Python中的csv模块。
读取文件夹里的xml文件,提取出xml里面<name>、<xmin>、<ymin>、<xmax>、<ymax>标签里的值。(所有xml文件)
在Python中,你可以使用`os`模块来遍历文件夹,然后利用`xml.etree.ElementTree`库来解析XML文件并提取所需的信息。以下是一个简单的示例:
```python
import os
import xml.etree.ElementTree as ET
def extract_xml_data(folder_path):
data = []
for root, dirs, files in os.walk(folder_path):
for file in files:
if file.endswith('.xml'):
filepath = os.path.join(root, file)
tree = ET.parse(filepath)
root = tree.getroot()
for elem in root.findall(".//{namespace}name"):
name = elem.text
xmin_values = [elem.text for elem in root.findall(".//{namespace}xmin")]
ymin_values = [elem.text for elem in root.findall(".//{namespace}ymin")]
xmax_values = [elem.text for elem in root.findall(".//{namespace}xmax")]
ymax_values = [elem.text for elem in root.findall(".//{namespace}ymax")]
# 创建一个字典存储所有的信息
record = {
'name': name,
'xmin': xmin_values,
'ymin': ymin_values,
'xmax': xmax_values,
'ymax': ymax_values
}
data.append(record)
return data
# 使用函数并指定文件夹路径
folder_path = "your_folder_directory" # 替换为实际的文件夹路径
extracted_data = extract_xml_data(folder_path)
```
这个函数会返回一个列表,每个元素都是一个字典,包含从各个XML文件中提取的`name`、`xmin`、`ymin`、`xmax`和`ymax`标签的值。
阅读全文