python-xml.etree.ElementTree解析xml文件
来源:互联网 发布:剑三正太脸型数据网盘 编辑:程序博客网 时间:2024/05/16 12:23
直接上代码,请看注释。附件图片为原始xml文件的部分展示。
import osimport gzipimport xml.etree.ElementTree as ETdef getfilename(path,l = ''): l = str(l) file = []#定义一个列表用来接收搜索到的符合条件的文件名(含绝对路径) sorfile = [] for k in os.walk( path ): k = list(k) #print(k) sorfile.append(k) for i in range(len(sorfile)): if not sorfile[i][2]: pass else: for j in range(len(sorfile[i][2])): if l in sorfile[i][2][j]: fi = sorfile[i][0]+'\\'+sorfile[i][2][j] file.append(fi) else: pass if not file: file=u'未找到符合条件的文件' # else: return file # 返回file,如果有搜索到文件,怎返回一个非空的list,如过没有找到文件,则返回一个字符串if __name__== '__main__': with open('res.txt','w') as g:#这两步是为了清空上次记录的log pass with open('res-err.txt','a') as r: #这两步是为了清空上次记录的log pass #a = [] path = r'D:\BaiduNetdiskDownload\0730\total' #输入要excel文件所在的文件夹路径 #path = path.replace('\\',r'\\') a = getfilename(path,l = '_MRS_NSN_OMC_')#获取文件名字 逗号后l = '' 引号里为空,默认不筛选,全部读取名字,如果有内容则会对引号中的内容来匹配文件,假如l = '周报' 将会读取所有带 基站 的excel #print(a) if type(a) =='str':#这里对输入的对象进行判断,如果是字符类型,则说明没有找到符合条件的文件,不执行任何操作。 print(u'未找到符合条件的文件') else: for i in range(len(a)):#对符合条件的文件进行迭代处理 try:#异常处理 with gzip.open(a[i]) as f: #k=f.read() tree = ET.parse(f) root = tree.getroot() #for child in root[1]: for neighbor in root.iter('eNB'):#root是bulkPmMrDataFile,里边有两个可迭代对象,一个是eNB,一个是fileHeader for neighbor1 in neighbor.iter('measurement'):#通过上一步,找到了eNB,eNB里有一类可迭代对象,是measurement k=neighbor1.attrib.get('mrName') #通过上一步,找到了measurement,measurement里有两类可迭代对象,一种是object,这里要做的是先挑出来属性标签是 mrName=MR.RSRP 的那些measurement,其实也就是只有第一个是 s='MR.RSRP' if s in k:#找到合适的measurement后 再进一步解析里边的object标签 for neighbor2 in neighbor1.iter('object'): h = neighbor2.findall('v')#解析object里的v标签 for t in h: with open('res.txt','a') as g: l = neighbor.attrib.get('id')+' '+ t.text#v标签里的内容就是我们要提取的,通过text方法获得。 g.write(l+'\n') #把提取的内容追加写入到txt中 break#这里用了break else: pass except Exception as e: with open('res-err.txt','a') as r:#异常处理 r.writelines(e+'\n')#把报错写进err.txt
阅读全文
0 0
- python-xml.etree.ElementTree解析xml文件
- python xml.etree.ElementTree解析
- 使用Python和xml.etree.ElementTree解析xml文件
- python xml.etree ElementTree解析 编辑 xml
- python XML解析--xml.etree.ElementTree
- Python xml.etree.ElementTree 用法
- python学习之 -- xml.etree.ElementTree解析xml
- [ZT]Python使用xml.etree.ElementTree操作xml文件
- Python读取xml文件(xml.etree.ElementTree)
- [Python]xml.etree.ElementTree处理xml文档
- python模块之xml.etree.ElementTree
- Python标准库之xml.etree.ElementTree
- Python模块学习之xml.etree.ElementTree
- Python标准库之xml.etree.ElementTree
- Python标准库之xml.etree.ElementTree
- Python 标准库之 xml.etree.ElementTree
- Python标准库之xml.etree.ElementTree
- Python XML No module named etree.ElementTree
- 在MyEclipse中启动Tomcat报错Error initializing endpoint java.net.SocketException: Unrecognized Windows Sock
- 观察者模式与回调
- SourceInsight下载、安装、破解、主题修改、其他配置全过程
- 2017.09.21--env环境变量
- Unknown Treasure HDU
- python-xml.etree.ElementTree解析xml文件
- 不同地间,不同元器件作用
- Android 输入法键盘管理
- Java jsonp跨域问题
- 最简单的web单点登录(SSO)
- oracle与mysql group by区别
- RxJava 2.x入门教程
- LintCode 46.主元素
- heartbeat+drbd实现磁盘共享自动挂载切换