• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python中xlrd模块的使用详解

    一、xlrd的安装

    打开cmd输入pip install xlrd安装完成即可

    二、xlrd模块的使用

    下面以这个工作簿为例

    1、导入模块

    import xlrd

    2、打开工作薄

    # filename是文件的路径名称
    workbook = xlrd.open_workbook(filename=r'C:\Users\Windows10\Desktop\xlsx文件.xlsx')

    3、获取需要操作的sheet表格(有三种方法)

    ①通过索引获取

    # 获取第一个sheet表格
    table = workbook.sheets()[0]

    ②通过索引顺序获取

    # 通过索引顺序获取
    table = workbook.sheet_by_index(0)

    ③通过sheet名称获取

    # 通过sheet名称获取
    table = workbook.sheet_by_name(sheet_name='Sheet1')

    补充:获取工作薄中所有sheet名称

    # 获取工作薄中所有的sheet名称
    names = workbook.sheet_names()
    
    打印结果
    ['Sheet1', 'Sheet2', 'Sheet3']

    三、行和列的操作

    常用1:获取sheet中有多少行和多少列

    # 获取sheet中有效行数
    row = table.nrows
    print(row)
    打印结果6
    # 获取sheet中有效列数
    col = table.ncols
    print(col)
    
    打印结果
    4

    常用2:获取一行中有多少列数据

    # 返回该行的有效单元格长度
    num = table.row_len(0)
    print(num)
    
    打印结果
    4

    常用3:获取指定行或者列中所有的数据

    # rowx表示是获取第几行的数据
    # start_col表示从索引为多少开始,end_colx表示从索引为多少结束,
    # end_colx为None表示结束没有限制
    # 获取指定行中的数据并以列表的形式返回
    table_list = table.row_values(rowx=0, start_colx=0, end_colx=None)
    print(table_list)
    
    打印结果
    ['渡劫(送千万元宝)', '新手礼包', '主角技能书*20,三级攻击石*2,萌新相框*1', 'nesHtg6Y']
    # colx表示是获取第几列的数据
    # start_rowx表示从索引为多少开始,end_rowx表示从索引为多少结束,
    # end_rowx为None表示结束没有限制
    # 获取指定列中的数据并以列表的形式返回
    table_list = table.col_values(colx=0, start_rowx=0, end_rowx=None)
    print(table_list)
    
    打印结果
    ['渡劫(送千万元宝)', '渡劫(送千万元宝)', '渡劫(送千万元宝)', '渡劫(送千万元宝)', '名扬沙城-杀猪爆充值', '名扬沙城-杀猪爆充值']

    补充:了解即可

    #返回由该列中所有的单元格对象组成的列表
    print(table.row(0)) 
    #返回由该行中所有的单元格对象组成的列表
    print(table.row_slice(0)) 
    #返回由该行中所有单元格的数据类型组成的列表
    print(table.row_types(0, start_colx=0, end_colx=None)) 
    
    打印结果
    [text:'渡劫(送千万元宝)', text:'新手礼包', text:'主角技能书*20,三级攻击石*2,萌新相框*1', text:'nesHtg6Y']
    [text:'渡劫(送千万元宝)', text:'新手礼包', text:'主角技能书*20,三级攻击石*2,萌新相框*1', text:'nesHtg6Y']
    array('B', [1, 1, 1, 1])
     #返回由该列中所有的单元格对象组成的列表
    print(table.col(0, start_rowx=0, end_rowx=None)) 
    #返回由该列中所有的单元格对象组成的列表
    print(table.col_slice(0, start_rowx=0, end_rowx=None)) 
    #返回由该列中所有单元格的数据类型组成的列表
    print(table.col_types(0, start_rowx=0, end_rowx=None)) 
    
    打印结果
    [text:'渡劫(送千万元宝)', text:'渡劫(送千万元宝)', text:'渡劫(送千万元宝)', text:'渡劫(送千万元宝)', text:'名扬沙城-杀猪爆充值', text:'名扬沙城-杀猪爆充值']
    [text:'渡劫(送千万元宝)', text:'渡劫(送千万元宝)', text:'渡劫(送千万元宝)', text:'渡劫(送千万元宝)', text:'名扬沙城-杀猪爆充值', text:'名扬沙城-杀猪爆充值']
    [1, 1, 1, 1, 1, 1]

    四、单元格的操作

    1、获取单元中的值

    # 获取指定单元格内的值
    value = table.cell_value(rowx=0, colx=1)
    print(value)
    
    打印结果
    新手礼包

    2、获取单元格内的组成对象和数据

    value = table.cell(rowx=0, colx=1)
    print(value)
    
    打印结果
    text:'新手礼包'

    3、获取单元格的数据类型

    python读取excel中单元格的内容返回的有5种类型。ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error。即date的ctype=3,这时需要使用xlrd的xldate_as_tuple来处理为date格式,先判断表格的ctype=3时xldate才能开始操作。

    value = table.cell_type(rowx=0, colx=1)
    print(value)

    五、案例

    需求:获取上面表格中的数据并依次打印出来

    import xlrd
    
    # 打开工作薄
    workbook = xlrd.open_workbook(r'C:\Users\Windows10\Desktop\xlsx文件.xlsx')
    # 获取第一个sheet表格
    table = workbook.sheets()[0]
    # 获取行数
    rows = table.nrows
    # 获取列数
    cols = table.ncols
    # 循环获取每行的数据
    for row in range(rows):
     for col in range(cols):
      value = table.cell_value(row, col)
      print('第{}行{}列的数据为:{}'.format(row, col, value))
    
    打印结果
    第0行0列的数据为:渡劫(送千万元宝)
    第0行1列的数据为:新手礼包
    第0行2列的数据为:主角技能书*20,三级攻击石*2,萌新相框*1
    第0行3列的数据为:nesHtg6Y
    第1行0列的数据为:渡劫(送千万元宝)
    第1行1列的数据为:特权礼包
    第1行2列的数据为:翅膀进阶丹*20,翅膀技能书*10,萌新气泡*1
    第1行3列的数据为:QqBSc7VJ
    第2行0列的数据为:渡劫(送千万元宝)
    第2行1列的数据为:独家礼包
    第2行2列的数据为:高级生命精华*10,升星石*20,法宝灵纹石*10
    第2行3列的数据为:NqsEdtBt
    第3行0列的数据为:渡劫(送千万元宝)
    第3行1列的数据为:预约礼包
    第3行2列的数据为:高级攻击精华*10,生命神兵印记包*5,老司机气泡*1
    第3行3列的数据为:P22vY6wa
    第4行0列的数据为:名扬沙城-杀猪爆充值
    第4行1列的数据为:万元青龙
    第4行2列的数据为:凌霄青龙*1
    第4行3列的数据为:NB999
    第5行0列的数据为:名扬沙城-杀猪爆充值
    第5行1列的数据为:尊贵VIP11
    第5行2列的数据为:5元*2、神羽*20、斗笠石(中)*20
    第5行3列的数据为:VIP999
    

    到此这篇关于python中xlrd模块的使用详解的文章就介绍到这了,更多相关python xlrd模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • Python中的xlrd模块使用原理解析
    • python使用xlrd模块读取xlsx文件中的ip方法
    • Python使用xlrd模块操作Excel数据导入的方法
    • python使用xlrd模块读写Excel文件的方法
    • Python中的xlrd模块使用整理
    上一篇:python中使用np.delete()的实例方法
    下一篇:Scrapy+Selenium自动获取cookie爬取网易云音乐个人喜爱歌单
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python中xlrd模块的使用详解 python,中,xlrd,模块,的,使用,