python XML文件读取
刚好接触了XML文件的读取,了解了一个过程,先进行记录:
python 使用ElementTree解析xml - wanlifeipeng - 博客园 (cnblogs.com)
XML就是采用树状的方式进行存储数据,就是将整个文件看成一棵树进行存放数据。先上XML图:
基础操作
import xml.etree.ElementTree as ET
# 加载xml文件
tree = ET.parse('10.xml')
# tree = ET.ElementTree(file='10.xml')#
# 获得root Element节点
root = tree.getroot()
# 获取目标节点
objects = root.find("object")
# 节点的tag
root.tag
# 节点的属性
root.attrib
# 节点文本字符串
root.text
# 遍历xml文件中的所有节点
for elem in tree.iter():
print(elem.tag,elem.attrib,elem.text)
# 只迭代object 节点下的 name 和 bndbox
# 法一:
for elem in root.iter(tag='object'):
# 获取矩形框坐标
box = [int(el.text) for el in elem.find('bndbox')]
# 获取目标类别
box.append(elem.find('name').text)
boxes.append(box)
# 法二:
dot=tree.find('object')
for elem in dot.iter():
......
上述是一些简单的使用,想知道更多操作,请移步上方的引用链接。
总结
感觉xml的读取方式让我更好的了解了,什么时候用.tag,什么时候在调用完.tag之后要加括号。
因为tag是root的自带性质,所以可以通过root.tag来得到,而对于其他时候,我们需要用a.item()这里的a.item()是举个例子,我们在调的是需要在后方加一个括号,因为这个item是一个函数,并不是a自身的性质,只是这个函数无需传参而已。
理解已经文字表达浅薄,请路过大佬指教。
个括号,因为这个item是一个函数,并不是a自身的性质,只是这个函数无需传参而已。
理解已经文字表达浅薄,请路过大佬指教。