如下,一个银行卡打标签后导出的数据

<?xml version="1.0" encoding="ISO-8859-1"?>
<annotation>
<filename>a001.jpg</filename>
<folder>users/three33//card</folder>
<source>
<submittedBy>three</submittedBy>
</source>
<imagesize>
<nrows>2240</nrows>
<ncols>3968</ncols>
</imagesize>
<object>
<name>numbers</name>
<deleted>0</deleted>
<verified>0</verified>
<occluded>no</occluded>
<attributes>6228480808055442079</attributes>
<parts>
<hasparts/>
<ispartof/>
</parts>
<date>12-May-2019 06:21:39</date>
<id>0</id>
<type>bounding_box</type>
<polygon>
<username>anonymous</username>
<pt>
<x>927</x>
<y>1278</y>
</pt>
<pt>
<x>3269</x>
<y>1278</y>
</pt>
<pt>
<x>3269</x>
<y>1475</y>
</pt>
<pt>
<x>927</x>
<y>1475</y>
</pt>
</polygon>
</object>
</annotation>

(上面的代码无法保留格式,还是截张图吧

现要将其中的标记的四个坐标和银行卡号读取出来,并保存到文本文件。由于有几百张图片,需要批处理。

代码:

 import os
import sys
import xml.etree.cElementTree as ET from_path = "./card" //输入文件夹
to_path = "./cardout" //输出文件夹
files = os.listdir(from_path)
files.sort() #按字典序排序 i = 1
for filename in files: dir1 = os.path.join(from_path, filename)
tree = ET.ElementTree(file=dir1)
root = tree.getroot() new_filename = filename[:-4] + ".txt"
dir2 = os.path.join(to_path,new_filename) fobj = open(dir2,'w+') print("time: %d, from_filename: %s, to_filename: %s" % (i, dir1, dir2)) for elem in tree.iterfind('object/polygon/pt'):
fobj.write((elem[0].text + ',' + elem[1].text + ','))
#print(elem[0].text + ',' + elem[1].text + ',') for elem in tree.iterfind('object/attributes'):
fobj.write(elem.text) fobj.close()
i = i + 1

效果:

python解析xml实例的更多相关文章

  1. Python 解析XML实例(xml.sax)

    已知movies.xml <collection shelf="New Arrivals"> <movie title="Enemy Behind&qu ...

  2. python 解析XML python模块xml.dom解析xml实例代码

    分享下python中使用模块xml.dom解析xml文件的实例代码,学习下python解析xml文件的方法. 原文转自:http://www.jbxue.com/article/16587.html ...

  3. python解析xml模块封装代码

    在python中解析xml文件的模块用法,以及对模块封装的方法.原文转自:http://www.jbxue.com/article/16586.html 有如下的xml文件:<?xml vers ...

  4. python解析xml之lxml

    虽然python解析xml的库很多,但是,由于lxml在底层是用C语言实现的,所以lxml在速度上有明显优势.除了速度上的优势,lxml在使用方面,易用性也非常好.这里将以下面的xml数据为例,介绍l ...

  5. python解析xml

    python解析xml import xml.dom.minidom as minidom dom = minidom.parse("aa.xml") root = dom.get ...

  6. python 解析xml

    在工作中很多时候都要用到xml,使用这个时候难免会设计到解析他,然后就研究了一下python解析xml问题,看了很多东西,python有很多解析xml的包,但是也折腾我好一段时间,最后选择了这个方法. ...

  7. Python 解析 XML 文件生成 HTML

    XML文件result.xml,内容如下: <ccm> <metric> <complexity>1</complexity> <unit> ...

  8. 横向对比分析Python解析XML的四种方式

    横向对比分析Python解析XML的四种方式 在最初学习PYTHON的时候,只知道有DOM和SAX两种解析方法,但是其效率都不够理想,由于需要处理的文件数量太大,这两种方式耗时太高无法接受. 在网络搜 ...

  9. python 解析xml 文件: SAX方式

    环境 python:3.4.4 准备xml文件 首先新建一个xml文件,countries.xml.内容是在python官网上看到的. <?xml version="1.0" ...

随机推荐

  1. EIP权限工作流升级说明-2019/5/23

    增加mysql版本在线预览地址:http://www.eipflow.com:3000/

  2. 使用的SQLServer版本不支持数据类型“datetime2“

    快速解决方法: 原因,在使用ado.net entity的时候,entity使用的数据库是sqlserver 2008, 但后来实际使用中使用的数据库是sqlserver 2005, 操作DateTi ...

  3. Unity3D 自动添加Fbx Animation Event

    http://blog.csdn.net/aa20274270/article/details/52528449 using UnityEngine; using System.Collections ...

  4. Python 获取脚本路径以及脚本所在文件夹路径

    import os script_path = os.path.realpath(__file__) script_dir = os.path.dirname(script_path)

  5. 2014 Noip提高组 Day1

    P1328 生活大爆炸版石头剪刀布 [题目描述] 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一样,则不分胜负.在<生活大爆炸>第二季第8 集中出现了一种石头 ...

  6. vue、React Nactive的区别(转载)

    Vue与React的对比 Vue.js与React.js从某些反面来说很相似,通过两个框架的学习,有时候对一些用法会有一点思考,为加深学习的思索,特翻阅了两个文档,从以下各方面进行了对比,加深了对这两 ...

  7. Java基础--常用API--字符串相关API

    一.java.lang.String 1.string对象不可变,被final修饰,不能被继承. 2.赋值方式: (1)直接赋值.比如: String name = "rick"; ...

  8. NetCore + Mysql + EF:No coercion operator is defined between types 'System.Int16' and 'System.Boolean',

    总结三种解决办法: 1.Mysql升级到7 2.Nuget安装Pomelo.EntityFrameworkCore.MySql 2.2.0替代MySql.Data.EntityFrameworkCor ...

  9. Domination

    题目链接 #include <bits/stdc++.h> using namespace std; typedef long long ll; inline ll read(){ , f ...

  10. 2016 CCPC-Final

    A.The Third Cup is Free #include <bits/stdc++.h> using namespace std; typedef long long ll; in ...