Python Xml文件添加字节属性的方法


Posted in Python onMarch 31, 2018

实例如下所示:

from xml.etree.cElementTree import ElementTree,Element
import xlrd
import re
def read_xlsx(xlsx_path):
  workbook = xlrd.open_workbook(xlsx_path)
  booksheet = workbook.sheet_by_name("Sheet1")
  p = list()
  row_data = []
  for row in range(booksheet.nrows):
    for col in range(booksheet.ncols):
      cel = booksheet.cell(row, col)
      val = cel.value
      try:
        val = cel.value
        val = re.sub(r'\s+', '', val)
      except:
        pass
      if type(val) == float:
        val = int(val)
      else:
        val = str(val)
      row_data.append(val)
  p.append(row_data)
  return p
def read_xml(Int_path):
  tree = ElementTree()
  tree.parse(Int_path)
  return tree
def write_xml(tree, out_path):
  tree.write(out_path,encoding="utf-8",xml_declaration=True)
  '''tree.write('output.xml')'''
def if_match(node,k_name,k_val):
  c = node.get(k_name)
  if node.get(k_name) == k_val:
    return True
  return False
def find_nodes(tree,path):
  return tree.findall(path)
def get_node_by_keyvalue(nodelist,key_name,key_val):
  result_nodes=[]
  for node in nodelist:
    if if_match(node,key_name,key_val):
      result_nodes.append(node)
  return result_nodes
def add_node_properties(nodelist,add_key,add_properties):
  for node in nodelist:
    node.set(add_key,add_properties)
  return node
if __name__ == "__main__":
  tree = read_xml("./ContentList.xml")
  nodes = find_nodes(tree,"Content")
  P = read_xlsx("./ServiceId.xlsx")
  a = P[0]
  i = 0
  while i < 80:
    result_nodes = get_node_by_keyvalue(nodes , "AssetId" , a[i])
    add_node_properties(result_nodes,"ServiceId",a[i+1])
    i = i + 2
  write_xml(tree,'./ContentList1.xml')

以上这篇Python Xml文件添加字节属性的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
pyside写ui界面入门示例
Jan 22 Python
Python中的map()函数和reduce()函数的用法
Apr 27 Python
在Python中使用模块的教程
Apr 27 Python
Python中的ConfigParser模块使用详解
May 04 Python
python批量添加zabbix Screens的两个脚本分享
Jan 16 Python
Python实现的科学计算器功能示例
Aug 04 Python
python list元素为tuple时的排序方法
Apr 18 Python
python一行sql太长折成多行并且有多个参数的方法
Jul 19 Python
在Python中使用Neo4j的方法
Mar 14 Python
cProfile Python性能分析工具使用详解
Jul 22 Python
tensorflow中tf.slice和tf.gather切片函数的使用
Jan 19 Python
Python代码需要缩进吗
Jul 01 Python
Python简单生成随机数的方法示例
Mar 31 #Python
用python 批量更改图像尺寸到统一大小的方法
Mar 31 #Python
使用Python读取安卓手机的屏幕分辨率方法
Mar 31 #Python
python获取网页中所有图片并筛选指定分辨率的方法
Mar 31 #Python
python如何将图片转换为字符图片
Aug 19 #Python
Pyinstaller将py打包成exe的实例
Mar 31 #Python
Python pymongo模块用法示例
Mar 31 #Python
You might like
一个数据采集类
2007/02/14 PHP
discuz7 phpMysql操作类
2009/06/21 PHP
Laravel模板引擎Blade中section的一些标签的区别介绍
2015/02/10 PHP
php json_encode与json_decode详解及实例
2016/12/13 PHP
PHP并发场景的三种解决方案代码实例
2021/02/27 PHP
laravel与thinkphp之间的区别与优缺点
2021/03/02 PHP
javascript &amp;&amp;和||运算法的另类使用技巧
2009/11/28 Javascript
jquery学习笔记二 实现可编辑的表格
2010/04/09 Javascript
jquery之empty()与remove()区别说明
2010/09/10 Javascript
jquery+ajax每秒向后台发送请求数据然后返回页面的代码
2011/01/17 Javascript
检测input每次的输入是否合法遇到汉字输入就有问题
2012/05/23 Javascript
一个JavaScript变量声明的知识点
2013/10/28 Javascript
js写的方法实现上传图片之后查看大图
2014/03/05 Javascript
使用ajax+jqtransform实现动态加载select
2014/12/01 Javascript
基于javascript实现页面加载loading效果
2020/09/15 Javascript
Vue2实现组件props双向绑定
2016/12/02 Javascript
微信小程序 获取当前地理位置和经纬度实例代码
2016/12/05 Javascript
简单谈谈Javascript函数中的arguments
2017/02/09 Javascript
Vue中父组件向子组件通信的方法
2017/07/11 Javascript
JavaScript 扩展运算符用法实例小结【基于ES6】
2019/06/17 Javascript
vue轮播组件实现$children和$parent 附带好用的gif录制工具
2019/09/26 Javascript
Vue组件通信中非父子组件传值知识点总结
2019/12/05 Javascript
[03:20]2015国际邀请赛全明星表演赛
2015/08/08 DOTA
python 提取文件的小程序
2009/07/29 Python
深入解析Python编程中super关键字的用法
2016/06/24 Python
CentOS 6.5下安装Python 3.5.2(与Python2并存)
2017/06/05 Python
linux环境下python中MySQLdb模块的安装方法
2017/06/16 Python
Python3.6实现连接mysql或mariadb的方法分析
2018/05/18 Python
python 3.6.7实现端口扫描器
2019/09/04 Python
Python测试线程应用程序过程解析
2019/12/31 Python
Python eval函数介绍及用法
2020/11/09 Python
使用css实现android系统的loading加载动画
2019/07/25 HTML / CSS
什么是SCM(软件配置管理)
2014/08/16 面试题
大学生专业个人学习的自我评价
2013/10/26 职场文书
工地质量标语
2014/06/12 职场文书
村创先争优活动总结
2014/08/28 职场文书