python: .xml文件读取

23人阅读 评论(0) 收藏 举报
分类:

.xml

我的.xml文件如下:
这里写图片描述

Code

通过如下代码模板,可实现对.xml文件的信息快捷读取:

# 导入库文件
import xml.etree.ElementTree as ET

# 指定.xml文件地址
ANNOTATION_PATH = "../../annotation/image005.xml"


def main():
    # 对.xml文件getroot
    et = ET.parse(ANNOTATION_PATH)
    ele = et.getroot()

    # 对一级text的获取
    folder = ele.find('folder').text    # milkpowder
    filename = ele.find('filename').text    # image005.png
    path = ele.find('path').text    # ../../image005.png

    size = ele.find('size')
    size_width = size.find('width').text    # 1440
    size_height = size.find('height').text    # 1080
    size_depth = size.find('depth').text    # 3

    segmented = ele.find('segmented').text  # 0

    # 对所有object的获取
    objs = ele.findall('object')

    # 对每个子object分别进行text获取
    for obj in objs:
        name = obj.find('name').text
        obj_bbox = obj.find('bndbox')
        x1 = int(round(float(obj_bbox.find('xmin').text)))
        y1 = int(round(float(obj_bbox.find('ymin').text)))
        x2 = int(round(float(obj_bbox.find('xmax').text)))
        y2 = int(round(float(obj_bbox.find('ymax').text)))
        bbox = [x1, y1, x2, y2]
        print(bbox)


if __name__ == "__main__":
    main()

Summary

.xml文件信息的存放类似于多级的字典(dict)。
因此,通过xml.etree.ElementTree库对.xml文件信息的读取,其实就是在分级text下对指定key进行的value读取。

查看评论

深度学习数据整理——Python读写xml文件

在训练CNN或是其他的深度学习网络时,经常要做的一件事便是准备数据,这是一件比较“烦人”的事情,此处以Python为基础整理几个经常能用到的数据处理脚本以及需要注意的地方。Python读写xml文件x...
  • xczexcel
  • xczexcel
  • 2017-07-15 10:27:12
  • 1785

深度学习python之制作VOC数据集中的xml文件(Annotations文件夹内)

深度学习python之制作VOC数据集中的xml文件(Annotations文件夹内)from lxml.etree import Element, SubElement, tostring from...
  • majinlei121
  • majinlei121
  • 2017-12-20 11:59:36
  • 239

python读写xml文件

onfig.xml文件如下:                           1、读xml文件 [python] view p...
  • u011286208
  • u011286208
  • 2015-11-24 14:11:34
  • 358

python_xml

  • 2013年02月25日 14:26
  • 206KB
  • 下载

KlAppCtrlTest-20170804

  • 2017年08月04日 18:29
  • 23.72MB
  • 下载

用Python对XML读取和处理

简介XML不是为了方便阅读而设计,而是为了编码为数据。当有一些文本有很多文档,可以用编码的方式使3一些文本便与处理。设计原则 提供不依赖平台的数据转移 方便的编写读写XML程序 数据格式是可验证的 便...
  • Einstellung
  • Einstellung
  • 2017-06-25 22:48:42
  • 3540

python读取excel模块

  • 2013年01月07日 13:25
  • 272KB
  • 下载

Libgdx之XML文件解析

在游戏开发过程中,经常需要保存游戏数据,XML文件就是一个不错的选择。Libgdx也提供我们一个轻量级的解析工具XmlReader,XmlReader能够解析出XML文件的子元素,属性,文本等,同时要...
  • zqiang_55
  • zqiang_55
  • 2016-07-07 22:23:18
  • 2316

xml文件的读写

1,xml文件的读取     读取xml文件的方式有两种,一种是面向模型的DOM方式,一种是面向事件的SAX方式     DOM方式原理:一次性的将xml文档加入内存,在内存中形成一颗do...
  • lishuangzhe7047
  • lishuangzhe7047
  • 2014-02-19 22:59:53
  • 13207

c#winform开发的连连看

  • 2010年05月03日 11:39
  • 102KB
  • 下载
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 26万+
    积分: 8212
    排名: 3135
    About
    博客专栏