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 创建一个空dataframe 然后添加行数据的实例
Jun 07 Python
详解Django中间件执行顺序
Jul 16 Python
Python3最长回文子串算法示例
Mar 04 Python
PyCharm永久激活方式(推荐)
Sep 22 Python
Python中使用threading.Event协调线程的运行详解
May 02 Python
django实现日志按日期分割
May 21 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
Aug 19 Python
基于Python爬取51cto博客页面信息过程解析
Aug 25 Python
Django框架请求生命周期实现原理
Nov 13 Python
selenium携带cookies模拟登陆CSDN的实现
Jan 19 Python
Python扫描端口的实现
Jan 25 Python
Python图片处理之图片裁剪教程
May 27 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
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
2014/08/20 PHP
php画图实例
2014/11/05 PHP
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
2016/07/02 PHP
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
2009/11/12 Javascript
JavaScript中的this实例分析
2011/04/28 Javascript
简单实用jquery版三级联动select示例
2013/07/04 Javascript
基于HTML5上使用iScroll实现下拉刷新,上拉加载更多
2016/05/21 Javascript
bootstrap table配置参数例子
2017/01/05 Javascript
jQuery模拟下拉框选择对应菜单的内容
2017/03/07 Javascript
浅谈Vue数据绑定的原理
2018/01/08 Javascript
Angular2 父子组件通信方式的示例
2018/01/29 Javascript
JavaScript解析JSON数据示例
2019/07/16 Javascript
vue实现鼠标经过动画
2019/10/16 Javascript
vue中英文切换实例代码
2020/01/21 Javascript
前端开发基础javaScript的六大作用
2020/08/06 Javascript
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
windows下ipython的安装与使用详解
2016/10/20 Python
Python反射的用法实例分析
2018/02/11 Python
Python文本统计功能之西游记用字统计操作示例
2018/05/07 Python
python通过zabbix api获取主机
2018/09/17 Python
详解python 爬取12306验证码
2019/05/10 Python
python如何读取bin文件并下发串口
2019/07/05 Python
Python 解决OPEN读文件报错 ,路径以及r的问题
2019/12/19 Python
Python 字符串处理特殊空格\xc2\xa0\t\n Non-breaking space
2020/02/23 Python
如何利用Python识别图片中的文字
2020/05/31 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
使用keras内置的模型进行图片预测实例
2020/06/17 Python
python Matplotlib数据可视化(2):详解三大容器对象与常用设置
2020/09/30 Python
css3 按钮样式简单可扩展创建
2013/03/18 HTML / CSS
意大利独特而优质的家居用品:Fazzini
2018/12/05 全球购物
保荐人的岗位职责
2013/11/19 职场文书
个人评价范文分享
2014/01/11 职场文书
帮一个朋友写的求职信
2014/08/09 职场文书
2014年语文教师工作总结
2014/12/18 职场文书
2021-4-3课程——SQL Server查询【2】
2021/04/05 SQL Server
Python关于OS文件目录处理的实例分享
2021/05/23 Python