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 相关文章推荐
Python常用知识点汇总
May 08 Python
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
Jun 02 Python
Python的collections模块中的OrderedDict有序字典
Jul 07 Python
浅谈Python 对象内存占用
Jul 15 Python
基于Python pip用国内镜像下载的方法
Jun 12 Python
caffe binaryproto 与 npy相互转换的实例讲解
Jul 09 Python
windows安装TensorFlow和Keras遇到的问题及其解决方法
Jul 10 Python
python实现的生成word文档功能示例
Aug 23 Python
Python处理session的方法整理
Aug 29 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
Apr 16 Python
基于Python中random.sample()的替代方案
May 23 Python
Python3实现英文字母转换哥特式字体实例代码
Sep 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
PHP6 mysql连接方式说明
2009/02/09 PHP
PHP mkdir()无写权限的问题解决方法
2014/06/19 PHP
PHP中一些可以替代正则表达式函数的字符串操作函数
2014/11/17 PHP
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
JQuery Dialog(JS 模态窗口,可拖拽的DIV)
2010/02/07 Javascript
jQuery:节点(插入,复制,替换,删除)操作
2013/03/04 Javascript
提交表单时执行func方法实现代码
2013/03/17 Javascript
js判断屏幕分辨率的代码
2013/07/16 Javascript
Javascript和HTML5利用canvas构建Web五子棋游戏实现算法
2013/07/17 Javascript
理解js回收机制通俗易懂版
2016/02/29 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
JavaScript 完成注册页面表单校验的实例
2017/08/19 Javascript
webstorm和.vue中es6语法报错的解决方法
2018/05/08 Javascript
JavaScript创建防篡改对象的方法分析
2018/12/30 Javascript
layui 数据表格 点击分页按钮 监听事件的实例
2019/09/02 Javascript
如何利用 JS 脚本实现网页全自动秒杀抢购功能
2020/10/12 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
2021/01/12 Vue.js
nodejs处理tcp连接的核心流程
2021/02/26 NodeJs
python list转dict示例分享
2014/01/28 Python
Python3.x中自定义比较函数
2015/04/24 Python
安装ElasticSearch搜索工具并配置Python驱动的方法
2015/12/22 Python
详解PANDAS 数据合并与重塑(join/merge篇)
2019/07/09 Python
Python学习笔记之列表和成员运算符及列表相关方法详解
2019/08/22 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
突袭HTML5之Javascript API扩展5—其他扩展(应用缓存/服务端消息/桌面通知)
2013/01/31 HTML / CSS
HTML5中使用json对象的实例代码
2018/09/10 HTML / CSS
Spartoo英国:欧洲最大的网上鞋店
2016/09/13 全球购物
Reebok俄罗斯官方网上商店:购买锐步运动服装和鞋子
2016/09/26 全球购物
体育老师的教学自我评价分享
2013/11/19 职场文书
初中政治教学反思
2014/01/17 职场文书
人力资源部经理的岗位职责
2014/03/04 职场文书
学生会副主席竞聘书
2014/03/31 职场文书
祖国在我心中演讲稿600字
2014/09/23 职场文书
辞职信标准格式
2015/02/27 职场文书
解决golang结构体tag编译错误的问题
2021/05/02 Golang
oracle重置序列从0开始递增1
2022/02/28 Oracle