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程序设计入门(2)变量类型简介
Jun 16 Python
Python读大数据txt
Mar 28 Python
Python中的is和==比较两个对象的两种方法
Sep 06 Python
python3+PyQt5实现拖放功能
Apr 24 Python
完美解决在oj中Python的循环输入问题
Jun 25 Python
在Python中调用Ping命令,批量IP的方法
Jan 26 Python
Python去除字符串前后空格的几种方法
Mar 04 Python
Django REST framework内置路由用法
Jul 26 Python
python 实现提取log文件中的关键句子,并进行统计分析
Dec 24 Python
python生成任意频率正弦波方式
Feb 25 Python
超级实用的8个Python列表技巧
Aug 24 Python
Python可以用来做什么
Nov 23 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
yii框架源码分析之创建controller代码
2011/06/28 PHP
解决PHP里大量数据循环时内存耗尽的方法
2015/10/10 PHP
php伪静态验证码不显示的解决方案
2019/09/26 PHP
基于jsTree的无限级树JSON数据的转换代码
2010/07/27 Javascript
multiSteps 基于Jquery的多步骤滑动切换插件
2011/07/22 Javascript
js操作iframe的一些方法介绍
2013/06/25 Javascript
js将控件隐藏及display属性的使用介绍
2013/12/30 Javascript
JQuery $.each遍历JavaScript数组对象实例
2014/09/01 Javascript
上传文件返回的json数据会被提示下载问题解决方案
2014/12/03 Javascript
基于jQuery插件实现环形图标菜单旋转切换特效
2015/05/15 Javascript
基于jQuery实现搜索关键字自动匹配功能
2020/03/26 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
2017/09/13 Javascript
Vue.js 中制作自定义选择组件的代码附演示demo
2020/02/28 Javascript
用vue写一个日历
2020/11/02 Javascript
python模块之time模块(实例讲解)
2017/09/13 Python
Python生成数字图片代码分享
2017/10/31 Python
python版DDOS攻击脚本
2019/06/12 Python
解决Django Static内容不能加载显示的问题
2019/07/28 Python
Python图像处理模块ndimage用法实例分析
2019/09/05 Python
总结html5自定义属性有哪些
2020/04/01 HTML / CSS
美国家居用品和厨具购物网站:DealsDot
2019/10/07 全球购物
人事专员岗位职责
2013/11/20 职场文书
优秀的计算机专业求职信范文
2013/12/27 职场文书
班会关于环保演讲稿
2013/12/29 职场文书
退伍老兵事迹材料
2014/01/31 职场文书
经济担保书范文
2014/04/02 职场文书
三年级评语大全
2014/04/23 职场文书
羽毛球社团活动总结
2014/06/27 职场文书
民主评议党员自我评价材料
2014/09/18 职场文书
现实表现材料范文
2014/12/23 职场文书
死亡赔偿协议书
2015/01/28 职场文书
2015年清明节演讲稿范文
2015/03/17 职场文书
民事起诉状范文
2015/05/19 职场文书
2016年秋季新学期致辞
2015/07/30 职场文书
企业版Windows 11有哪些新功能? Win11适用于企业的功能介绍
2021/11/21 数码科技
Python进程池与进程锁之语法学习
2022/04/11 Python