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 相关文章推荐
pycharm 使用心得(三)Hello world!
Jun 05 Python
在Python中操作时间之strptime()方法的使用
Dec 30 Python
Python验证码识别处理实例
Dec 28 Python
CentOS 7下安装Python 3.5并与Python2.7兼容并存详解
Jul 07 Python
Python读取MRI并显示为灰度图像实例代码
Jan 03 Python
微信跳一跳游戏python脚本
Apr 01 Python
python3+PyQt5重新实现QT事件处理程序
Apr 19 Python
Python中flatten( )函数及函数用法详解
Nov 02 Python
用Python开发app后端有优势吗
Jun 29 Python
Django+RestFramework API接口及接口文档并返回json数据操作
Jul 12 Python
使用Python爬虫爬取小红书完完整整的全过程
Jan 19 Python
python基于机器学习预测股票交易信号
May 25 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编程最快明白(第一讲 软件环境和准备工作)
2010/10/25 PHP
php中smarty变量修饰用法实例分析
2015/06/11 PHP
PHP设置images目录不充许http访问的方法
2016/11/01 PHP
js类 from qq
2006/11/13 Javascript
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
2012/05/23 Javascript
javascript获取鼠标点击元素对象(示例代码)
2013/12/20 Javascript
javascript操作字符串的原生方法
2014/12/22 Javascript
jQuery实现简单的文件上传进度条效果
2020/03/26 Javascript
Bootstrap每天必学之导航组件
2016/04/25 Javascript
BootStrap扔进Django里的方法详解
2016/05/13 Javascript
深入理解jQuery之防止冒泡事件
2016/05/24 Javascript
Vue.js组件tabs实现选项卡切换效果
2016/12/01 Javascript
利用vueJs实现图片轮播实例代码
2017/06/03 Javascript
Angular实现可删除并计算总金额的购物车功能示例
2017/12/26 Javascript
vue监听键盘事件的快捷方法【推荐】
2018/07/11 Javascript
vue中v-for通过动态绑定class实现触发效果
2018/12/06 Javascript
如何用JavaScript实现功能齐全的单链表详解
2019/02/11 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
解决vue.js提交数组时出现数组下标的问题
2019/11/05 Javascript
angular *Ngif else用法详解
2020/12/15 Javascript
Python多线程编程简单介绍
2015/04/13 Python
Python中列表、字典、元组数据结构的简单学习笔记
2016/03/20 Python
python 实时遍历日志文件
2016/04/12 Python
pygame实现俄罗斯方块游戏(基础篇3)
2019/10/29 Python
Python异常原理及异常捕捉实现过程解析
2020/03/25 Python
浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点
2020/06/08 Python
html5 application cache遇到的严重问题
2012/12/26 HTML / CSS
美国娱乐和流行文化商品店:FYE
2017/09/14 全球购物
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
init进程的作用
2012/04/12 面试题
大学生求职简历自我评价
2015/03/02 职场文书
综合办公室岗位职责
2015/04/11 职场文书
电影复兴之路观后感
2015/06/02 职场文书
外出听课学习心得体会
2016/01/15 职场文书
如何使JavaScript休眠或等待
2021/04/27 Javascript
Python pandas读取CSV文件的注意事项(适合新手)
2021/06/20 Python