python处理xml文件(voc数据集中*.xml反转为*.txt)

#!usr/bin/python
# -*- coding:utf-8 -*-


# 通过解析xml文件
'''
try:
    import xml.etree.CElementTree as ET
except:
    import xml.etree.ElementTree as ET

从Python3.3开始ElementTree模块会自动寻找可用的C库来加快速度
'''
import xml.etree.ElementTree as ET
import os
import sys

if __name__ == "__main__":
    xmls_path = "D:/gyh/DataSets/长微博数据/label"
    target_path = "D:/gyh/DataSets/长微博数据/txt"

    for xmlFilePath in os.listdir(xmls_path):
        print(os.path.join(xmls_path,xmlFilePath))
        try:
            tree = ET.parse(os.path.join(xmls_path,xmlFilePath))

            # 获得根节点
            root = tree.getroot()
        except Exception as e:  # 捕获除与程序退出sys.exit()相关之外的所有异常
            print("parse test.xml fail!")
            sys.exit()

        # objects = root.find("object")
        # print(len(objects))
        f = open(target_path +"/" + os.path.splitext(xmlFilePath)[0] + ".txt", 'w')
        # print(f)

        for bndbox in root.iter('bndbox'):
            node = []
            for child in bndbox:
                node.append(int(child.text))
            x1, y1 = node[0],node[1]
            x3, y3 = node[2],node[3]
            x2 ,y2 = x3 ,y1
            x4, y4 = x1, y3
            string = ''+str(x1)+','+str(y1)+','+str(x2)+','+str(y2)+','+''+str(x3)+','+str(y3)+','+''+str(x4)+','+str(y4)+',test';
            # print(string)
            f.write(string+'\n')
        f.close()

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容