zoukankan      html  css  js  c++  java
  • python读取xml文件示例

      最近用到了xml格式的文件,对这些没啥印象,顺便学习一下,做个例子,方便后续查阅。

    xml文档:

     1 <annotation>
     2     <folder>VOC2012</folder>
     3     <filename>2007_000027.jpg</filename>
     4     <source>
     5         <database>The VOC2007 Database</database>
     6         <annotation>PASCAL VOC2007</annotation>
     7         <image>flickr</image>
     8     </source>
     9     <size>
    10         <width>486</width>
    11         <height>500</height>
    12         <depth>3</depth>
    13     </size>
    14     <segmented>0</segmented>
    15     <object>
    16         <name>person</name>
    17         <pose>Unspecified</pose>
    18         <truncated>0</truncated>
    19         <difficult>0</difficult>
    20         <bndbox>
    21             <xmin>174</xmin>
    22             <ymin>101</ymin>
    23             <xmax>349</xmax>
    24             <ymax>351</ymax>
    25         </bndbox>
    26         <part>
    27             <name>head</name>
    28             <bndbox>
    29                 <xmin>169</xmin>
    30                 <ymin>104</ymin>
    31                 <xmax>209</xmax>
    32                 <ymax>146</ymax>
    33             </bndbox>
    34         </part>
    35         <part>
    36             <name>hand</name>
    37             <bndbox>
    38                 <xmin>278</xmin>
    39                 <ymin>210</ymin>
    40                 <xmax>297</xmax>
    41                 <ymax>233</ymax>
    42             </bndbox>
    43         </part>
    44         <part>
    45             <name>foot</name>
    46             <bndbox>
    47                 <xmin>273</xmin>
    48                 <ymin>333</ymin>
    49                 <xmax>297</xmax>
    50                 <ymax>354</ymax>
    51             </bndbox>
    52         </part>
    53         <part>
    54             <name>foot</name>
    55             <bndbox>
    56                 <xmin>319</xmin>
    57                 <ymin>307</ymin>
    58                 <xmax>340</xmax>
    59                 <ymax>326</ymax>
    60             </bndbox>
    61         </part>
    62     </object>
    63 </annotation>
    View Code

      使用python代码读取里面的内容:

     1 #python3
     2 # -- coding: utf-8 --
     3 
     4 import numpy as np
     5 import xml.etree.ElementTree as ET
     6 
     7 et = ET.parse('test.xml')
     8 element = et.getroot()
     9 
    10 # 获取所有object对象
    11 element_objs = element.findall('object')
    12 # 图片文件名
    13 element_filename = element.find('filename').text
    14 print('element_filename:' , element_filename)
    15 element_width = int(element.find('size').find('width').text)
    16 element_height = int(element.find('size').find('height').text)
    17 
    18 if len(element_objs) > 0:
    19     for element_obj in element_objs:
    20         class_name = element_obj.find('name').text
    21         print('class_name:' , class_name)
    22 
    23         obj_bbox = element_obj.find('bndbox')
    24         x1 = int(round(float(obj_bbox.find('xmin').text)))
    25         y1 = int(round(float(obj_bbox.find('ymin').text)))
    26         x2 = int(round(float(obj_bbox.find('xmax').text)))
    27         y2 = int(round(float(obj_bbox.find('ymax').text)))
    28         print('(x1,y1,x2,y2):' , (x1 , y1 , x2 , y2))
    View Code

    每日一言:

    无冥冥之志者,无昭昭之明,无昏昏之事者,无赫赫之功。

    参考文档:https://blog.csdn.net/hanshuobest/article/details/78604704

  • 相关阅读:
    玲珑杯 1035 D-J
    多项式exp
    Thanks to World
    【uoj#191.】Unknown
    【bzoj4534】基础排序算法练习题
    【bzoj4596】黑暗前的幻想乡
    【bzoj2893】征服王
    【bzoj3876】支线剧情
    【bzoj4283】魔法少女伊莉雅
    【bzoj1822】冷冻波
  • 原文地址:https://www.cnblogs.com/dylancao/p/9494328.html
Copyright © 2011-2022 走看看