Python实现将Excel转换成xml的方法示例


Posted in Python onAugust 25, 2018

本文实例讲述了Python实现将Excel转换成xml的方法。分享给大家供大家参考,具体如下:

最近写了个小工具 用于excel转成xml

直接贴代码吧:

#coding=utf-8
import xlrd
import datetime
import time
import sys
import xml.dom.minidom
import os
print sys.getdefaultencoding()
reload(sys)       #就是这么坑爹,否则下面会报错
sys.setdefaultencoding('utf-8') #py默认是ascii。。要设成utf8
#excel中 数据格式如下:
# UID     第四天
# 1579880025 10:00-13:30
# 1677982825 10:00-12:00
# 1704410718 10:00-12:00
# 83713892  10:00-12:00
# 1546551561 10:00-12:00
# 1298790776 10:00-12:00
def open_excel(file):
  try:
    data = xlrd.open_workbook(file) #xlrd 操作excel的外部库
    return data
  except Exception, e:
    print str(e)
bgntm = '2017-05-18_'
def get_time_t(stime):
  stime = bgntm + stime + ':00'
  # return time.strptime(stime, '%Y-%m-%d %H:%M:%S')   #将时间转成时间戳
  return stime
def excel_table_byindex(file, colnnameindex=0, by_index=0):
  data = open_excel(file)     #打开excel
  table = data.sheets()[by_index]
  nrows = table.nrows
  ncols = table.ncols
  doc = xml.dom.minidom.Document()  #打开xml对象
  xmain = doc.createElement('main')
  doc.appendChild(xmain)
  for nrow in range(0, nrows):    #遍历每一行
    if nrow == 0:
      continue
    uid = table.cell(nrow, 0).value   #取值..第一列
    item = doc.createElement('%d'%uid) #生成节点
    stime = table.cell(nrow, 1).value  #第二列的值
    stime = stime.strip()    #去除空格..excel数据里 经常会无意有蛋疼的多余空格
    listT = stime.split('-')     #按 -分割字符串
    # sbgn = 'bgn = %d'%time.mktime(get_time_t(listT[0]))
    sbgn = 'bgn = '+get_time_t(listT[0])
    print 'uid=%d'%uid
    print 'bgn:'+sbgn
    send = 'end = '+get_time_t(listT[1])
    # send = 'end = %d'%time.mktime(get_time_t(listT[1]))
    print 'end:'+send
    exxbgn = doc.createTextNode(sbgn)  #纯文本节点
    exxend = doc.createTextNode(send)
    item.appendChild(exxbgn)      #加入树中
    item.appendChild(exxend)
    # ebgn = doc.createElement('bgn')
    # eend = doc.createElement('bgn')
    # item.appendChild(ebgn)
    # item.appendChild(eend)
    # item.setAttribute('bgn', '%d'%time.mktime(get_time_t(listT[0]))) #设置节点属性
    # item.setAttribute('end', '%d'%time.mktime(get_time_t(listT[1])))
    # for lt in listT:
      # print time.mktime(get_time_t(lt))
    xmain.appendChild(item)
  f = open('G:/testPro/py/exceltoxml/day.xml', 'w')    #xml文件输出路径
  f.write(doc.toprettyxml())
  f.close()
excel_table_byindex('G:/testPro/py/exceltoxml/day.xlsx')    #excel文件路径

关于xlrd 可以在cmd里pip install xlrd来安装

Python 相关文章推荐
python进程管理工具supervisor使用实例
Sep 17 Python
python实现逆波兰计算表达式实例详解
May 06 Python
Python利用BeautifulSoup解析Html的方法示例
Jul 30 Python
深入理解Python中range和xrange的区别
Nov 26 Python
详解Django 中是否使用时区的区别
Jun 14 Python
python使用正则筛选信用卡
Jan 27 Python
Python Opencv实现图像轮廓识别功能
Mar 23 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
Sep 29 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
Jan 06 Python
keras实现多GPU或指定GPU的使用介绍
Jun 17 Python
opencv 阈值分割的具体使用
Jul 08 Python
使用Python将语音转换为文本的方法
Aug 10 Python
Python实现的简单计算器功能详解
Aug 25 #Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
Aug 25 #Python
Python使用matplotlib绘制三维图形示例
Aug 25 #Python
Python实现的括号匹配判断功能示例
Aug 25 #Python
Django中使用Celery的教程详解
Aug 24 #Python
python tornado微信开发入门代码
Aug 24 #Python
python使用rpc框架gRPC的方法
Aug 24 #Python
You might like
星际争霸中的热键
2020/03/04 星际争霸
用Socket发送电子邮件(利用需要验证的SMTP服务器)
2006/10/09 PHP
PHP中MD5函数使用实例代码
2008/06/07 PHP
PHP curl 抓取AJAX异步内容示例
2014/09/09 PHP
利用PHP自动生成印有用户信息的名片
2016/08/01 PHP
php 获取xml接口数据的处理方法
2018/05/31 PHP
js null,undefined,字符串小结
2010/08/21 Javascript
javascript中创建对象的几种方法总结
2013/11/01 Javascript
transport.js和jquery冲突问题的解决方法
2015/02/10 Javascript
JavaScript中的原型prototype属性使用详解
2015/06/05 Javascript
教你如何终止JQUERY的$.AJAX请求
2016/02/23 Javascript
JS获取元素多层嵌套思路详解
2016/05/16 Javascript
JavaScript中的this引用(推荐)
2016/08/05 Javascript
文件上传的几个示例分享【推荐】
2016/12/16 Javascript
jQuery初级教程之网站品牌列表效果
2017/08/02 jQuery
小程序图片剪裁加旋转的示例代码
2018/07/10 Javascript
Vue Router去掉url中默认的锚点#
2018/08/01 Javascript
JavaScript设计模式之观察者模式与发布订阅模式详解
2020/05/07 Javascript
解决vue axios跨域 Request Method: OPTIONS问题(预检请求)
2020/08/14 Javascript
Python中编写ORM框架的入门指引
2015/04/29 Python
python kmeans聚类简单介绍和实现代码
2018/02/23 Python
分析经典Python开发工程师面试题
2019/04/08 Python
Python程序包的构建和发布过程示例详解
2019/06/09 Python
解决python 3 urllib 没有 urlencode 属性的问题
2019/08/22 Python
python shell命令行中import多层目录下的模块操作
2020/03/09 Python
Pycharm打开已有项目配置python环境的方法
2020/07/03 Python
Django视图、传参和forms验证操作
2020/07/15 Python
用python制作个视频下载器
2021/02/01 Python
聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
2021/03/03 Python
css3使用animation属性实现炫酷效果(推荐)
2020/02/04 HTML / CSS
Mountain Warehouse澳大利亚官网:欧洲家庭户外品牌倡导者
2016/11/20 全球购物
《月亮湾》教学反思
2014/04/14 职场文书
小学五年级学生评语
2014/04/22 职场文书
公司法人授权委托书范本
2014/09/12 职场文书
2014教师党员个人自我评议
2014/09/20 职场文书
校园安全主题班会
2015/08/12 职场文书