为了训练深度学习模型,经常要整理大量的标注数据,需统一不同格式的标注数据,一般情况下习惯读取TXT格式的数据。但实际中经常遇到XML格式的标注数据,在此举例:1.读取XML标注数据;2.写入TXT文件。

XML标注数据如下

suE

Drivingrecord_001

C:\Desktop\Drivingrecord_001.jpg

Unknown

1920

1080

3

0

苏E*****-蓝-1-白,灰-大众-上海大众-桑塔纳-尚纳

polygon

Unspecified

0

0

170

704

167

729

242

735

243

710

苏E*****-蓝-1-黄-雷克萨斯-雷克萨斯(进口)-雷克萨斯RX

polygon

Unspecified

0

0

733

721

733

759

881

760

882

722

苏*****-蓝-1-黑-宝马-宝马(进口)-宝马7系

polygon

Unspecified

0

0

1274

657

1274

671

1325

670

1326

656

苏*****-蓝-1-灰-标致-东风标致-标致307

polygon

Unspecified

0

0

1609

658

1611

671

1659

669

1657

656

在此,我们只需要图片名filename,和每个object的坐标(四个点的坐标)

Drivingrecord_001.jpg 170 704 167 729 242 735 243 710 733 721 733 759 881 760 882 722 1274 657 1274 671 1325 670 1326 656 1609 658 1611 671 1659 669 1657 656

利用xml.dom.*模块,文件对象模块DOM在读取XML文件时,一次读取整个文件,将其所有数据保存在一个树结构中,此时,可利用DOM的各种函数来读取目标数据。在此,利用xml.dom.minidom解析XML文件。

并将目标数据写入TXT文档。

# -*- coding: utf-8 -*-

"""

Created on Fri Mar 2 15:36:44 2018

@author: gg

"""

import xml.dom.minidom

import os

save_dir = 'D:\plate_train'

if not os.path.exists(save_dir):

os.mkdir(save_dir)

f = open(os.path.join(save_dir, 'landmark.txt'), 'w')

DOMTree = xml.dom.minidom.parse('D:\plate_train\label\Drivingrecord_001.xml')

annotation = DOMTree.documentElement

filename = annotation.getElementsByTagName("filename")[0]

imgname = filename.childNodes[0].data+'.jpg'

print(imgname)

objects = annotation.getElementsByTagName("object")

loc = [imgname] #文档保存格式:文件名 坐标

for object in objects:

bbox = object.getElementsByTagName("bndbox")[0]

leftTopx = bbox.getElementsByTagName("leftTopx")[0]

lefttopx = leftTopx.childNodes[0].data

print(lefttopx)

leftTopy = bbox.getElementsByTagName("leftTopy")[0]

lefttopy = leftTopy.childNodes[0].data

print(lefttopy)

rightTopx = bbox.getElementsByTagName("rightTopx")[0]

righttopx = rightTopx.childNodes[0].data

print(righttopx)

rightTopy = bbox.getElementsByTagName("rightTopy")[0]

righttopy = rightTopy.childNodes[0].data

print(righttopy)

rightBottomx = bbox.getElementsByTagName("rightBottomx")[0]

rightbottomx = rightBottomx.childNodes[0].data

print(rightbottomx)

rightBottomy = bbox.getElementsByTagName("rightBottomy")[0]

rightbottomy = rightBottomy.childNodes[0].data

print(rightbottomy)

leftBottomx = bbox.getElementsByTagName("leftBottomx")[0]

leftbottomx = leftBottomx.childNodes[0].data

print(leftbottomx)

leftBottomy = bbox.getElementsByTagName("leftBottomy")[0]

leftbottomy = leftBottomy.childNodes[0].data

print(leftbottomy)

loc = loc + [lefttopx, lefttopy, righttopx, righttopy, rightbottomx, rightbottomy, leftbottomx, leftbottomy]

for i in range(len(loc)):

f.write(str(loc[i])+' ')

f.write('\t\n')

f.close()

以上这篇python代码xml转txt实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

本文标题: python代码xml转txt实例

本文地址: http://www.cppcns.com/jiaoben/python/302552.html

用python将xml文件转换为txt文件_python代码xml转txt实例相关推荐

  1. python批量pdf转word,python批量实现Word文件转换为PDF文件

    本文为大家分享了python批量转换Word文件为PDF文件的具体方法,供大家参考,具体内容如下 1.目的 通过万能的Python把一个目录下的所有Word文件转换为PDF文件. 2.遍历目录 作者总 ...

  2. Python 把csv文件转换为excel文件

    背景 由于其他部门给的数据是 csv 文件,业务人员一般都是熟悉 excel 文件,为了方便查看数据,因此需要写个程序,把 csv 文件转换为 excel 文件,由于是经常使用,小编的脚本程序,写成了 ...

  3. python中gettext文件格式_如何将gettext .mo文件转换为.po文件 - python

    Improve this question 当.po文件不再可用时,有什么方法可以将.mo文件转换为.po文件源?我需要编辑.mo文件的内容,但没有.po文件.可能吗? 参考方案 msgunfmt [ ...

  4. python批量操作word文档实战_python批量实现Word文件转换为PDF文件

    本文为大家分享了python批量转换Word文件为PDF文件的具体方法,供大家参考,具体内容如下 1.目的 通过万能的Python把一个目录下的所有Word文件转换为PDF文件. 2.遍历目录 作者总 ...

  5. Python之EXCEL文件转换为CSV文件

    Python之EXCEL文件转换为CSV文件@TOC 依赖库:pandas.pathlib.os,Python版本3.9.7 手头有10000+的excel文件,每个文件只有一个sheet,10000 ...

  6. Python将CSV文件转换为Excel文件

    不多说,直接贴代码 from pandas.io.excel import ExcelWriter import pandas as pd with ExcelWriter('xxx.xlsx') a ...

  7. php生成图片文件流,php如何将base64数据流文件转换为图片文件?

    2017-03-07 在开发中,自己遇到一个前端在上传图片的时候,使用的base64数据流文件显示的图片. 也就是说 ***image/后面的jpg是我们的图片文件格式,(base64,)后面的很大一 ...

  8. mmap文件转换为mm文件

    之前一直使用MindManager编辑思维导图,最近开始尝试使用FreeMind,发现这个更小巧轻便,但是FreeMind无法打开MindManager编辑保存的mmap文件,在网上搜了下关于mmap ...

  9. office文件转换为pdf文件

    office文件转换为pdf文件 首先安装openoffice,自行百度 导入jar包,自行百度 引入坐标: <!-- 转pdf配置 --><dependency><gr ...

  10. java pdf 转换 word_如何使用Java将pdf文件转换为word文件

    如何使用Java将pdf文件转换为word文件? 而且,它看起来像它一样容易吗? 解决方法: public class PDFTextReader { static String pdftoText( ...

最新文章

  1. sdwan安全如何加固?六种安全SD-WAN方案分享
  2. Function ALV可编辑列修改数据后与与内表数据同步问题
  3. android 11微信,QQ,支付宝无法调用的问题
  4. 期货与期权(part3)--期货合约和期权合约
  5. 正则表达式之 NFA 引擎匹配原理详解
  6. asp.net将内容导出到Excel,Table表格数据(html)导出EXCEL
  7. 等额本息excel模板下载_格格技能——巧用EXCEL函数,算清各种收益利率
  8. tinymce 工具栏 不显示_winform中MenuStrip主菜单、工具栏、状态栏、托盘、其他控件...
  9. 月费10元起!中国移动推年轻人的第一张5G元素电话卡
  10. Windows10 tpm.msc 管理程序
  11. 计算机网络综合实践任务书,计算机网络综合实任务书2012-11.doc
  12. Python零基础学习笔记(三十九)—— time
  13. Inno Setup for Windows service
  14. 一拳超人最强之男手游辅助脚本 快速升级提高提高战力
  15. Linux命令之显示日期时间date
  16. python的字符串的使用
  17. 您目前无法访问XXXX,因为此网站使用了HSTS
  18. Python找最大数及位置
  19. 学习记录-Simpack生成车轮不圆的几种示例
  20. 英文名字大全解释 (详)

热门文章

  1. java.lang.IllegalArgumentException和org.apache.catalina.LifecycleException
  2. 直接运行PowerShell脚本
  3. 用 Redis 实现分布式锁(分析)
  4. Exchange 2013部署系列之(七)配置SSL多域名证书
  5. linux VM映像chroot注入修改root密码
  6. TCP服务端收到syn但是不回复syn ack问题分析
  7. Nginx Http认证 实现访问网站或目录密码认证保护
  8. linux c 创建子进程 执行任务
  9. mysql max_allowed_packet 参数 限制接受的数据包大小
  10. python3 多级目录建立 os.makedirs()