Python实现将Excel转换成xml的方法示例
本文实例讲述了Python实现将Excel转换成xml的方法。分享给大家供大家参考,具体如下:
最近写了个小工具用于excel转成xml
直接贴代码吧:
#coding=utf-8
importxlrd
importdatetime
importtime
importsys
importxml.dom.minidom
importos
printsys.getdefaultencoding()
reload(sys)#就是这么坑爹,否则下面会报错
sys.setdefaultencoding('utf-8')#py默认是ascii。。要设成utf8
#excel中数据格式如下:
#UID第四天
#157988002510:00-13:30
#167798282510:00-12:00
#170441071810:00-12:00
#8371389210:00-12:00
#154655156110:00-12:00
#129879077610:00-12:00
defopen_excel(file):
try:
data=xlrd.open_workbook(file)#xlrd操作excel的外部库
returndata
exceptException,e:
printstr(e)
bgntm='2017-05-18_'
defget_time_t(stime):
stime=bgntm+stime+':00'
#returntime.strptime(stime,'%Y-%m-%d%H:%M:%S')#将时间转成时间戳
returnstime
defexcel_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)
fornrowinrange(0,nrows):#遍历每一行
ifnrow==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])))
#forltinlistT:
#printtime.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里pipinstallxlrd来安装
PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:
在线