• python中xlrd模块的使用


    xlrd模块的使用,直接上列子,如下:

    有如下excel数据

     我们需要对该表中的数据进行读取,首先要导入xlrd模块

    1 import xlrd

    打开文件操作,testExcel.xlsx为文件加路径

    1 data = xlrd.open_workbook('testExcel.xlsx')

    代码示例,一次性读取所有数据:

    import xlrd
    
    def read_xlrd(excelTestFile):
        data = xlrd.open_workbook(excelTestFile)  # 打开路径下的文件,并读取
        table = data.sheet_by_index(0)  # 根据sheet的索引,确定表格;也可以根据sheet名称确定,如:table = data.sheet_by_name('用户表')
    
        for rowNum in range(table.nrows):  # excel表格中的有效行数,从0开始
            rowVale = table.row_values(rowNum)  # row_values返回该行中所有数据组成的一个列表
            for colNum in range(table.ncols):  # excel表格中的有效列数,从0开始
                if rowNum > 0 and colNum == 0:
                    print(int(rowVale[0]))
                else:
                    print(rowVale[colNum])
            print("#############################")
    
    if __name__ == '__main__':
        excelFile = 'testExcel.xlsx'
        read_xlrd(excelTestFile=excelFile)

    效果如下所示:

    其他的函数使用:

    获取book中的一个工作表

    table = data.sheets()[0]          #通过索引顺序获取
    
    table = data.sheet_by_index(sheet_indx)) #通过索引顺序获取
    
    table = data.sheet_by_name(sheet_name)#通过名称获取
    
    以上三个函数都会返回一个xlrd.sheet.Sheet()对象
    
    names = data.sheet_names()    #返回book中所有工作表的名字
    
    data.sheet_loaded(sheet_name or indx)   # 检查某个sheet是否导入完毕

    行操作:

    nrows = table.nrows  #获取该sheet中的有效行数
    
    table.row(rowx)  #返回由该行中所有的单元格对象组成的列表
    
    table.row_slice(rowx)  #返回由该列中所有的单元格对象组成的列表
    
    table.row_types(rowx, start_colx=0, end_colx=None)    #返回由该行中所有单元格的数据类型组成的列表
    
    table.row_values(rowx, start_colx=0, end_colx=None)   #返回由该行中所有单元格的数据组成的列表
    
    table.row_len(rowx) #返回该列的有效单元格长度

    列操作:

    ncols = table.ncols   #获取列表的有效列数
    
    table.col(colx, start_rowx=0, end_rowx=None)  #返回由该列中所有的单元格对象组成的列表
    
    table.col_slice(colx, start_rowx=0, end_rowx=None)  #返回由该列中所有的单元格对象组成的列表
    
    table.col_types(colx, start_rowx=0, end_rowx=None)    #返回由该列中所有单元格的数据类型组成的列表
    
    table.col_values(colx, start_rowx=0, end_rowx=None)   #返回由该列中所有单元格的数据组成的列表

    单元格操作:

    table.cell(rowx,colx)   #返回单元格对象,返回值的格式为“单元类型:单元值”
    
    table.cell_type(rowx,colx)    #返回单元格中的数据类型,单元类型ctype:empty为0,string为1,number为2,date为3,boolean为4, error为5
    
    table.cell_value(rowx,colx)   #返回单元格中的数据,返回值为当前值的类型(如float、int、string...)

    单元格操作举例说明:

    def read_xlrd(excelTestFile):
        data = xlrd.open_workbook(excelTestFile)  # 打开路径下的文件,并读取
        table = data.sheet_by_index(0)  # 根据sheet的索引,确定表格;也可以根据sheet名称确定,如:table = data.sheet_by_name('用户表')
      

    print(table.cell_value(1,1)) #返回单元格中的数据,返回值为当前值的类型(如float、int、string...) print(table.cell_type(1,1)) #返回单元格中的数据类型,单元类型ctype:empty为0,string为1,number为2,date为3,boolean为4, error为5 print(table.cell(1,1)) #返回单元格对象,返回值的格式为“单元类型:单元值

    if __name__ == '__main__': excelFile = 'testExcel.xlsx' read_xlrd(excelTestFile=excelFile)

    运行结果:

    
    
  • 相关阅读:
    [转] JS报 “尚未实现” 错误
    分享到国内各SNS网站的代码
    IE8以下版本不支持动态创建的HTML5元素?
    一个较为个性化的出生日期选择
    关于拖拽上传 [一个拖拽上传修改头像的流程]
    用CSS写出漂亮的小三角
    用户自定义模块的实现方案
    纪录一则IE的bug
    onpropertychange 和 oninput
    判断脚本加载完毕
  • 原文地址:https://www.cnblogs.com/chenwenaa/p/12605126.html
Copyright © 2020-2023  润新知