zoukankan      html  css  js  c++  java
  • Python3.4如何读写Excel

    在python3.x(散仙使用的版本是python3.4)里,我们应该如何操作excel。 

    首先在python3.4里,我们可以使用新的python类库,来支持3.x之后的读写excel 

    针对 03版excel(xls结尾的),我们可以使用xlrd读,xlwt包来写 
    针对 07版excel(xlsx结尾的),我们可以使用openpyxl来操作读写excel 


    xlwt的下载地址https://pypi.python.org/pypi/xlwt3 
    xlrd的下载地址https://pypi.python.org/pypi/xlrd3 
    openpyx1的下载地址https://pypi.python.org/pypi/openpyxl 




    下载完扩展的包库之后,直接解压某个目录,然后执行命令进行安装包系统的python类库里: 

    python setup.py install


    核心代码,如下所示: 

    #读取excel使用(支持03)
    import xlrd
    #写入excel使用(支持03)
    import xlwt3
    #读取execel使用(支持07)
    from openpyxl import Workbook
    #写入excel使用(支持07)
    from openpyxl import load_workbook
    
    
    def showexcel(path):
        workbook=xlrd.open_workbook(path)
        sheets=workbook.sheet_names();
        #多个sheet时,采用下面的写法打印
        #for sname in sheets:
            #print(sname)
        worksheet=workbook.sheet_by_name(sheets[0])
        #nrows=worksheet.nrows
        #nclows=worksheet.ncols
        for i in range(0,worksheet.nrows):
            row=worksheet.row(i)
    
            for j in range(0,worksheet.ncols):
                print(worksheet.cell_value(i,j),"	",end="")
    
            print()
    
    
    
    def writeexcel03(path):
    
        wb=xlwt3.Workbook()
        sheet=wb.add_sheet("xlwt3数据测试表")
        value = [["名称", "hadoop编程实战", "hbase编程实战", "lucene编程实战"], ["价格", "52.3", "45", "36"], ["出版社", "机械工业出版社", "人民邮电出版社", "华夏人民出版社"], ["中文版式", "中", "英", "英"]]
        for i in range(0,4):
            for j in range(0,len(value[i])):
                sheet.write(i,j,value[i][j])
        wb.save(path)
        print("写入数据成功!")
    
    def writeexcel07(path):
    
        wb=Workbook()
        #sheet=wb.add_sheet("xlwt3数据测试表")
        sheet=wb.create_sheet(0,"xlwt3数据测试表")
    
        value = [["名称", "hadoop编程实战", "hbase编程实战", "lucene编程实战"], ["价格", "52.3", "45", "36"], ["出版社", "机械工业出版社", "人民邮电出版社", "华夏人民出版社"], ["中文版式", "中", "英", "英"]]
        #for i in range(0,4):
            #for j in range(0,len(value[i])):
                #sheet.write(i,j,value[i][j])
    
                #sheet.append(value[i])
        sheet.cell(row = 1,column= 2).value="温度"
        wb.save(path)
        print("写入数据成功!")
    
    
    def read07excel(path):
        wb2=load_workbook(path)
        #print(wb2.get_sheet_names())
        ws=wb2.get_sheet_by_name("详单一")
        row=ws.get_highest_row()
        col=ws.get_highest_column()
        print("列数: ",ws.get_highest_column())
        print("行数: ",ws.get_highest_row())
    
        for i  in range(0,row):
            for j in range(0,col):
                print(ws.rows[i][j].value,"		",end="")
    
            print()
    
        #print(ws.rows[0][0].value)
        #print(ws.rows[1][0].value)
        #print(ws.rows[0][1].value)
    
    
    
    
    
    
    #excelpath=r"D://名称.xlsx"
    #writepath=r"D://书籍明细07.xlsx"
    #writeexcel03(writepath)
    #writeexcel07(writepath)
    
    read07path="D://名称.xlsx";
    
    
    read03path=r"E:同义词词库.xls";
    #read07excel(read07path)
    #read07excel(read03path)
    #showexcel(excelpath);
    showexcel(read03path);



    最后,分享三个格式数字和日期,以及随机数生成3个小知识点 

    #浮点数格式化成百分比
    pp="{:.1%}".format(0.2356)
    print(pp)
    
    #格式化日期
    import  datetime
    s=(2014,12,11,0,0,0)
    d="%02d-%02d-%02d" % s[:3]
    print(d)
    
    #打印随机数
    import random
    #浮点数随机数
    f=random.uniform(1.0,100)
    #整数范围随机数
    f1=random.randint(1,23)
    print(f1)
    print(f)
    
    


    结果如下: 

    D:pythonpython.exe D:/pythonide/pythonprojectworkspace/tnssolve/f.py
    23.6%
    2014-12-11
    17
    84.57222433948785
    
    Process finished with exit code 0

    原文链接:http://qindongliang.iteye.com/blog/2163700
  • 相关阅读:
    2.安卓体系结构
    1.Android的历史与安装
    Mysql免安装配置
    安装gulp
    搭建vue开发环境的步骤
    运行一个从GitHub上下载的vue项目的具体步骤
    网站源码,大量HTML5模板,视频源码,黑客技术资源
    bootstrap文件树
    jQuery unbind 某个function
    响应式设计的思考:媒体查询(media query)
  • 原文地址:https://www.cnblogs.com/iteakey/p/4608137.html
Copyright © 2011-2022 走看看