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操作的在线工具供大家参考使用:
在线