首页 > 其他 > 详细

xml与Excel转换

时间:2014-03-14 16:18:49      阅读:682      评论:0      收藏:0      [点我收藏+]

使用Python将如下xml格式转换为Excel格式:

xml转为xls格式文件:

xml格式如下:

<?xml version="1.0" encoding="UTF-8"?>   
<photos>   
        <photo src="assets/images/001/3.jpg" desc="把兰花种进去!"/>      
        <photo src="assets/images/002/1.jpg" desc="每天都要锻炼身体哦!"/>   
        <photo src="assets/images/001/1.jpg" desc="我们在种兰花!"/>       
        <photo src="assets/images/001/2.jpg" desc="先把泥巴挖开!"/>   
</photos>  

通过使用lxml模块创建xml文件,使用xlwt模块创建Excel文件,转换方法如下

#coding:utf-8
#xml与Excel相互转换
from lxml import etree
import xlwt as xlwt

wb=xlwt.Workbook()
ws=wb.add_sheet("employee")

tree=etree.parse("employee2.xml")
root=tree.getroot()

row=0
col=0

for item in root:
    if len(item.attrib)==0:
        continue
        
    row=row+1
    col=0
    
    for attr in item.attrib:
        print attr
        ws.write(row,col,item.attrib[attr])
        col=col+1
        
wb.save("test.xls")

 最后结果如下:

bubuko.com,布布扣

 

 xls格式文件转换为xml:

 xls格式文件如下:

bubuko.com,布布扣

xls转换为xml:

#coding:utf-8
from lxml import etree
import xlrd,codecs

def getPathFileName(path):
    tmp=path.split(‘/‘)
    return tmp[len(tmp)-1].split(‘.‘)[0]
    

def xlsToxmlPath(path):
    return path.split(‘.‘)[0]+‘.xml‘
    
def export(path):
    data=xlrd.open_workbook(path,formatting_info=True)
    table=data.sheets()[0]
    
    f=open(xlsToxmlPath(path),‘wb‘)
    f.write(u‘<?xml version="1.0"  encoding="utf-8" ?>\n‘)
    f.write(u‘<%s>\n‘% getPathFileName(path))
    
    for i in range(1,table.nrows):
        s=u‘<item‘;
        tmp = [u‘   %s = "%s"‘ % (str(table.cell_value(0,j)), str(table.cell_value(i,j))) for j in range(table.ncols)];
        
        s+=u‘ ‘.join(map(str,tmp));
        s+=u‘>\n‘;
        f.write(s);
        
    f.write(u‘</%s>‘%getPathFileName(path));
    
export(‘test.xls‘)

 结果为:

<?xml version="1.0"  encoding="utf-8" ?>
<test>
<item   src = "assets/images/001/3.jpg"    content = "aa">
<item   src = "assets/images/002/1.jpg"    content = "bb">
<item   src = "assets/images/001/1.jpg"    content = "cc">
<item   src = "assets/images/001/2.jpg"    content = "dd">
</test>

 

 

xml与Excel转换,布布扣,bubuko.com

xml与Excel转换

原文:http://www.cnblogs.com/hanwenhuazuibang/p/3600462.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!