我有一些带有图像注释数据的xml文件。我想将这些xml文件转换为.txt文件。
我制作了将xml中的xml转换为txt文件的脚本,但是遇到了错误
from xml.etree.ElementTree import ElementTree
import sys
import os
import glob
from glob import glob
def read_xml(f,op):
if not os.path.exists(op):
os.makedirs(op,exist_ok=True)
file_n = glob(f)
for i in range(len(file_n)):
xcontent = ElementTree()
xcontent.parse(file_n[i])
doc = [xcontent.find("folder").text,xcontent.find("filename").text,xcontent.find("path").text,xcontent.find("width").text,
xcontent.find("height").text,xcontent.find("depth").text,xcontent.find("name").text,xcontent.find("xmin").text,
xcontent.find("ymin").text,xcontent.find("xmax").text,xcontent.find("ymax").text]
out = open(file_n[i]+".txt","w")
out.write(op)
if __name__ == '__main__':
files=("C:\\multi_cat_3\\models\\research\\object_detection\\images\\train_xmls\\*")
op_path=("C:\\multi_cat_3\\models\\research\\object_detection\\images\\train_xmls_op")
read_xml(files,op_path)
错误是:
Traceback (most recent call last):
File "C:/Users/128938/PycharmProjects/augmentation_code/test_file.py", line 32, in <module>
read_xml(files,op_path)
File "C:/Users/128938/PycharmProjects/augmentation_code/test_file.py", line 17, in read_xml
doc = [xcontent.find("folder").text,xcontent.find("filename").text,xcontent.find("path").text,xcontent.find("width").text,
AttributeError: 'NoneType' object has no attribute 'text'
答案 0 :(得分:0)
“ NoneType”对象没有属性“文本”
您正在使用.text
值调用None
。这意味着您的.find()
呼叫之一未找到任何内容。
使用辅助函数来提取文本值,如下所示:
def text_content(element):
if element:
return element.text
return ''
然后
text_content(xcontent.find("folder"))