亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python代碼xml轉(zhuǎn)txt實(shí)例

 更新時(shí)間:2020年03月10日 09:49:56   作者:SunnyFish-ty  
這篇文章主要介紹了python代碼xml轉(zhuǎn)txt實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

為了訓(xùn)練深度學(xué)習(xí)模型,經(jīng)常要整理大量的標(biāo)注數(shù)據(jù),需統(tǒng)一不同格式的標(biāo)注數(shù)據(jù),一般情況下習(xí)慣讀取TXT格式的數(shù)據(jù)。但實(shí)際中經(jīng)常遇到XML格式的標(biāo)注數(shù)據(jù),在此舉例:1.讀取XML標(biāo)注數(shù)據(jù);2.寫入TXT文件。

XML標(biāo)注數(shù)據(jù)如下

<annotation verified="no"> 
 <folder>suE</folder> 
 <filename>Drivingrecord_001</filename> 
 <path>C:\Desktop\Drivingrecord_001.jpg</path> 
 <source> 
  <database>Unknown</database> 
 </source> 
 <size> 
  <width>1920</width> 
  <height>1080</height> 
  <depth>3</depth> 
 </size> 
 <segmented>0</segmented> 
 <object> 
  <name>蘇E*****-藍(lán)-1-白,灰-大眾-上海大眾-桑塔納-尚納</name> 
  <flag>polygon</flag> 
  <pose>Unspecified</pose> 
  <truncated>0</truncated> 
  <difficult>0</difficult> 
  <bndbox> 
   <leftTopx>170</leftTopx> 
   <leftTopy>704</leftTopy> 
   <rightTopx>167</rightTopx> 
   <rightTopy>729</rightTopy> 
   <rightBottomx>242</rightBottomx> 
   <rightBottomy>735</rightBottomy> 
   <leftBottomx>243</leftBottomx> 
   <leftBottomy>710</leftBottomy> 
  </bndbox> 
 </object> 
 <object> 
  <name>蘇E*****-藍(lán)-1-黃-雷克薩斯-雷克薩斯(進(jìn)口)-雷克薩斯RX</name> 
  <flag>polygon</flag> 
  <pose>Unspecified</pose> 
  <truncated>0</truncated> 
  <difficult>0</difficult> 
  <bndbox> 
   <leftTopx>733</leftTopx> 
   <leftTopy>721</leftTopy> 
   <rightTopx>733</rightTopx> 
   <rightTopy>759</rightTopy> 
   <rightBottomx>881</rightBottomx> 
   <rightBottomy>760</rightBottomy> 
   <leftBottomx>882</leftBottomx> 
   <leftBottomy>722</leftBottomy> 
  </bndbox> 
 </object> 
 <object> 
  <name>蘇*****-藍(lán)-1-黑-寶馬-寶馬(進(jìn)口)-寶馬7系</name> 
  <flag>polygon</flag> 
  <pose>Unspecified</pose> 
  <truncated>0</truncated> 
  <difficult>0</difficult> 
  <bndbox> 
   <leftTopx>1274</leftTopx> 
 <leftTopy>657</leftTopy> 
   <rightTopx>1274</rightTopx> 
   <rightTopy>671</rightTopy> 
   <rightBottomx>1325</rightBottomx> 
   <rightBottomy>670</rightBottomy> 
   <leftBottomx>1326</leftBottomx> 
   <leftBottomy>656</leftBottomy> 
  </bndbox> 
 </object> 
 <object> 
  <name>蘇*****-藍(lán)-1-灰-標(biāo)致-東風(fēng)標(biāo)致-標(biāo)致307</name> 
  <flag>polygon</flag> 
  <pose>Unspecified</pose> 
  <truncated>0</truncated> 
  <difficult>0</difficult> 
  <bndbox> 
   <leftTopx>1609</leftTopx> 
   <leftTopy>658</leftTopy> 
   <rightTopx>1611</rightTopx> 
   <rightTopy>671</rightTopy> 
   <rightBottomx>1659</rightBottomx> 
   <rightBottomy>669</rightBottomy> 
   <leftBottomx>1657</leftBottomx> 
   <leftBottomy>656</leftBottomy> 
  </bndbox> 
 </object> 
</annotation> 

在此,我們只需要圖片名filename,和每個(gè)object的坐標(biāo)(四個(gè)點(diǎn)的坐標(biāo))

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.*模塊,文件對(duì)象模塊DOM在讀取XML文件時(shí),一次讀取整個(gè)文件,將其所有數(shù)據(jù)保存在一個(gè)樹結(jié)構(gòu)中,此時(shí),可利用DOM的各種函數(shù)來(lái)讀取目標(biāo)數(shù)據(jù)。在此,利用xml.dom.minidom解析XML文件。

并將目標(biāo)數(shù)據(jù)寫入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] #文檔保存格式:文件名 坐標(biāo) 
 
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轉(zhuǎn)txt實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python使用xlrd和xlwt實(shí)現(xiàn)自動(dòng)化操作Excel

    Python使用xlrd和xlwt實(shí)現(xiàn)自動(dòng)化操作Excel

    這篇文章主要介紹了Python使用xlrd和xlwt實(shí)現(xiàn)自動(dòng)化操作Excel,xlwt只能對(duì)Excel進(jìn)行寫操作。xlwt和xlrd不光名字像,連很多函數(shù)和操作格式也是完全相
    2022-08-08
  • 使用Python代碼進(jìn)行PowerPoint演示文稿的合并與拆分

    使用Python代碼進(jìn)行PowerPoint演示文稿的合并與拆分

    多個(gè)PowerPoint演示文稿的處理可能會(huì)成為非常麻煩的工作,有時(shí)需要將多個(gè)演示文稿合并為一個(gè)演示文稿,從而不用在演示時(shí)重復(fù)打開演示文稿,本文我們可以使用Python代碼來(lái)快速、準(zhǔn)確的執(zhí)行PowerPoint演示文稿的合并于拆分操作,需要的朋友可以參考下
    2024-03-03
  • Window 64位下python3.6.2環(huán)境搭建圖文教程

    Window 64位下python3.6.2環(huán)境搭建圖文教程

    這篇文章主要為大家詳細(xì)介紹了Window 64位下python3.6.2環(huán)境搭建圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • python繪制詞云圖最全教程(自定義png形狀、指定字體、顏色)

    python繪制詞云圖最全教程(自定義png形狀、指定字體、顏色)

    詞云圖是一種直觀的方式來(lái)展示文本數(shù)據(jù),它易于理解,能展示出詞語(yǔ)的頻率使用情況,對(duì)于文本分析非常有用,這篇文章主要給大家介紹了python繪制詞云圖(自定義png形狀、指定字體、顏色)的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • Python生成不重復(fù)隨機(jī)值的方法

    Python生成不重復(fù)隨機(jī)值的方法

    這篇文章主要介紹了Python生成不重復(fù)隨機(jī)值的方法,實(shí)例分析了Python算法實(shí)現(xiàn)與Python自帶方法的實(shí)現(xiàn)技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下
    2015-05-05
  • python指定寫入文件時(shí)的編碼格式方法

    python指定寫入文件時(shí)的編碼格式方法

    今天小編就為大家分享一篇python指定寫入文件時(shí)的編碼格式方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • pandas.DataFrame.to_json按行轉(zhuǎn)json的方法

    pandas.DataFrame.to_json按行轉(zhuǎn)json的方法

    今天小編就為大家分享一篇pandas.DataFrame.to_json按行轉(zhuǎn)json的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • python+pygame實(shí)現(xiàn)代碼雨(黑客帝國(guó)既視感)

    python+pygame實(shí)現(xiàn)代碼雨(黑客帝國(guó)既視感)

    這篇文章主要介紹了python+pygame實(shí)現(xiàn)代碼雨(黑客帝國(guó)既視感),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • python求質(zhì)數(shù)的3種方法

    python求質(zhì)數(shù)的3種方法

    這篇文章主要為大家詳細(xì)介紹了python求質(zhì)數(shù)的多種方法,多種方法求質(zhì)數(shù)的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • 在Python程序和Flask框架中使用SQLAlchemy的教程

    在Python程序和Flask框架中使用SQLAlchemy的教程

    SQLAlchemy為Python程序與SQL語(yǔ)句之間建立了映射,是Python操作數(shù)據(jù)庫(kù)的利器,這里我們將來(lái)看在Python程序和Flask框架中使用SQLAlchemy的教程,需要的朋友可以參考下
    2016-06-06

最新評(píng)論