xlrd获取行数_Python 新手入门必学模块之:xlrd

数据处理是 Python 目前最热门的应用领域之一,excel 是最通用的电子表格,因此使用 Python 读写 excel 文件,就成了Python程序员入门必学的基础之一。Python 读写 excel 文件的工具有很多,比如,xlrd、xlwt、xlutils、openpyxl 等。其中 xlrd、xlwt 因为诞生较早,应用也相对普遍。

xlrd 模块

1. 打开文件

>>> import xlrd
>>> book = xlrd.open_workbook('D:/DATA/人员统计.xls')  # 打开文件

2. 常用方法和对象

excel中最重要的方法就是文件(book)和工作表(sheet)的操作。
  • book常用方法  

方法功能描述
sheets()取得所有的工作表对象列表
sheet_by_index(sheet_indx)通过索引顺序获取工作表对象
sheet_by_name(sheet_name)通过名称获取工作表对象
sheet_names()返回book中所有工作表的名字
sheet_loaded(sheet_name or indx)检查某个sheet是否导入完毕
  • sheet常用方法  

方法功能描述
nrows获取该sheet中的有效行数
ncols获取列表的有效列数
row(row_idx)返回由该行中所有的单元格对象组成的列表
row_slice(row_idx)返回由该行中所有的单元格对象组成的列表(同上)
row_types(row_idx, start_col_idx=0, end_col_idx=None)返回由该行中所有单元格的数据类型组成的列表
row_values(row_idx, start_col_idx=0, end_col_idx=None)返回由该行中所有单元格的数据组成的列表
row_len(row_idx)返回该列的有效单元格长度
col(col_idx, start_row_idx=0, end_row_idx=None)返回由该列中所有的单元格对象组成的列表
col_slice(col_idx, start_row_idx=0, end_row_idx=None)返回由该列中所有的单元格对象组成的列表(同上)
col_types(col_idx, start_row_idx=0, end_row_idx=None)返回由该列中所有单元格的数据类型组成的列表
col_values(col_idx, start_row_idx=0, end_row_idx=None)返回由该列中所有单元格的数据组成的列表
cell(row_idx,col_idx)返回单元格对象
cell_type(row_idx,col_idx)返回单元格中的数据类型
cell_value(row_idx,col_idx)返回单元格中的数据

3. 使用样例

>>> import xlrd
>>> book = xlrd.open_workbook('D:/DATA/人员统计.xls')
>>> book.sheets()  # 取得所有工作表对象
[0x0000022A6C1C6978>]
>>> book.sheet_by_index(0)  # 取得第一个工作表0x0000022A6C1C6978>
>>> book.sheet_names()  # 取得所有工作表的名称
['统计']
>>> sheet = book.sheet_by_name('统计')  # 根据名称取得工作表对象
>>> sheet.nrows  # 取得有效行数6
>>> sheet.ncols  # 取得有效列数5
>>> sheet.row(0)  # 取得第一行中所有的单元格对象
[text:'部门', text:'姓名', text:'身高(cm)', text:'体重(kg)', text:'年龄']
>>> sheet.row_slice(0)  # 取得第一行中所有的单元格对象
[text:'部门', text:'姓名', text:'身高(cm)', text:'体重(kg)', text:'年龄']
>>> sheet.row_types(0)  # 取得第一行中所有的单元格的类型
array('B', [1, 1, 1, 1, 1, 1])
>>> sheet.row_values(1)  # 取得第二行所有的单元格的值
['研发组', '张岚山', 180.0, 71.0, 25.0]
>>> sheet.col_values(4)  # 取得第5列中所有单元格的值
['年龄', 25.0, 30.0, 24.0, 26.0, 25.0]
>>> sheet.cell(1,1)  # 取得第二行第2列的单元格对象
text:'张岚山'
>>> sheet.cell_type(1,1)  # 取得第二行第2列的单元格对象的类型1
>>> sheet.cell_value(1,1)  # 取得第二行第2列的单元格的值'张岚山'

4. 应用讲解

4.1 取得第一个工作表中的所有的数据

>>> import xlrd
>>> book = xlrd.open_workbook('D:/DATA/人员统计.xls')
>>> sheet = book.sheet_by_index(0)
>>> for row_index in range(sheet.nrows):
        print(sheet.row_values(row_index))

['部门', '姓名', '身高(cm)', '体重(kg)', '年龄']
['研发组', '张岚山', 180.0, 71.0, 25.0]
['研发组', '刘雯雯', 170.0, 80.0, 30.0]
['研发组', '林建忠', 175.0, 70.0, 24.0]
['测试组', '李凯', 175.0, 69.0, 26.0]
['测试组', '王冬冬', 168.0, 55.0, 25.0]

4.2 取得指定区域内的数据

>>> import xlrd
>>> book = xlrd.open_workbook('D:/DATA/人员统计.xls')
>>> sheet = book.sheet_by_index(0)
>>> for row_index in range(1,5):
        print(sheet.row_values(row_index, 2, 5))

[180.0, 71.0, 25.0]
[170.0, 80.0, 30.0]
[175.0, 70.0, 24.0]
[175.0, 69.0, 26.0]

e5855196dc0090d982db7b896830feb2.png

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值