[这是我遇到的错误 ](https://i.sstatic.net/3DUyRhlD.png)
path = glob('/Users/ayeshanasim/Desktop/Major Project/*.xml')
labels_dict = dict(filepath=[], xmin=[], xmax=[], ymin=[], ymax=[])
for filename in path:
info = ET.parse(filename)
root = info.getroot()
member_object = root.find('object')
labels_info = member_object.find('bndbox')
xmin = int(labels_info.find('xmin').text)
xmax = int(labels_info.find('xmax').text)
ymin = int(labels_info.find('ymin').text)
ymax = int(labels_info.find('ymax').text)
labels_dict['filepath'].append(filename)
labels_dict['xmin'].append(xmin)
labels_dict['xmax'].append(xmax)
labels_dict['ymin'].append(ymin)
labels_dict['ymax'].append(ymax)
df = pd.DataFrame(labels_dict)
df.to_csv('labels.csv', index=False)
df.head()
我的代码无法读取 xml 文件并在 df.head() 处打印前 5 行。我犯的错误是什么
import os
import xml.etree.ElementTree as ET
import pandas as pd
# Get file paths of XML files
directory = '/Users/ayeshanasim/Desktop/Major Project/'
path = [os.path.join(directory, filename) for filename in os.listdir(directory) if filename.endswith('.xml')]
labels_dict = {
'filepath': [],
'xmin': [],
'xmax': [],
'ymin': [],
'ymax': []
}
for filename in path:
# Print filename to debug
print("Processing file:", filename)
# Parse XML file
try:
info = ET.parse(filename)
root = info.getroot()
# Find all objects and iterate over them
for member_object in root.findall('object'):
labels_info = member_object.find('bndbox')
xmin = int(labels_info.find('xmin').text)
xmax = int(labels_info.find('xmax').text)
ymin = int(labels_info.find('ymin').text)
ymax = int(labels_info.find('ymax').text)
# Append data to dictionary
labels_dict['filepath'].append(filename)
labels_dict['xmin'].append(xmin)
labels_dict['xmax'].append(xmax)
labels_dict['ymin'].append(ymin)
labels_dict['ymax'].append(ymax)
except Exception as e:
print("Error processing file:", filename)
print(e)
# Convert dictionary to DataFrame
df = pd.DataFrame(labels_dict)
# Write DataFrame to CSV file
df.to_csv('labels.csv', index=False)
# Display first 5 rows of DataFrame
print(df.head())
此代码处理 XML 解析期间的潜在错误,迭代每个 XML 文件中的所有对象,并打印 DataFrame 的前 5 行以进行调试。确保根据您的具体情况调整目录路径和 XML 文件结构。