xlrd获取行数_Python3之excel操作xlrd,xlwt,xlutils模块

Python中操作excel有xlrd,xlwt,xlutils模块,openpyxl模块,xlsxwriter等模块,这里先介绍xlrd,xlwt,xlutils模块。

xlrd是读excel的库,支持.xls,.xlsx文件的读,

xlwt是写excel的库,支持写.xls文件。

xlutils提供其他功能:如复制一份excel。

1:xlrd,xlwt,xlutils库的安装

pip install  xlrd

pip install  xlwt

pip install  xlutils

2:查看模块的帮助文档

拿到一个新的模块,还是首先看看它里面的帮助文档,以及这个模块中所提供的方法。

# encoding=gbk import  xlrd  print(xlrd.__doc__) print(dir(xlrd)) for item in dir(xlrd):    print(item) print(help(xlrd.open_workbook))  # import  xlwt# 自己写吧.....

从上面的打印结果可以看到,xlrd除了能操作excel之外,还能操作zipfile文件,这里只练习对excel的操作。

3:xlrd模块中的常用方法

3.1:数据格式

xlrd所读取的excel数据可能的格式有七种:

0     empty(空的)

1     text(string)

2     number,

3     date,

4      boolean,

5     error,

blank(空白表格)

3.2:获取工作表

# encoding=gbk import  xlrd # 打开Book工作簿(即excel工作簿,包含所有工作表)workBook = xlrd.open_workbook('test.xlsx') # 查看工作簿对象中所有的属性与方法#print(help(workBook)) # 工作表的总数print(workBook.nsheets)# 获取所有的工作表名,返回一个列表print(workBook.sheet_names()) # 获取工作表# 获取所有的工作表,返回一个列表print(workBook.sheets())# 遍历所有的工作表# for sheet in workBook.sheets():#     print(sheet)   # 获取某个工作表# 方法1:通过索引顺序获取,注意下标不要越界,最大值为workBook.nsheets - 1workSheet = workBook.sheets()[0] # 方法2:通过索引顺序获取, 最大值为workBook.nsheets - 1# workSheet = workBook.sheet_by_index(0)) # 方法3: 通过工作表名称获取;所有的工作表名:通过 workBook.sheet_names() 获取# workSheet = workBook.sheet_by_name('Sheet1') # 以上三个函数都会返回一个xlrd.sheet.Sheet()对象# # workBook.sheet_loaded(sheet_name or indx)   # 检查某个工作表是否导入完毕

3.3:行操作

# encoding=gbk import  xlrd # 打开Book工作簿(即excel工作簿,包含所有工作表)workBook = xlrd.open_workbook('test.xlsx') # 获取第一个工作表workSheet = workBook.sheets()[0] # 查看工作表对象中的所有方法# print(help(workSheet)) nrows = workSheet.nrows  #获取该工作表中的有效行数print(nrows) # 获取第n行,包括单元格数据类型与单元格数据值print(workSheet.row(3) ) #返回由该行中所有的单元格对象组成的列表#上面输出:[empty:'', number:20201601.0, number:108.0, number:96.0, number:102.0, number:92.0, number:95.0, number:93.0, number:88.0, number:90.0, empty:''] # 获取第n行,包括单元格数据类型与单元格数据值print(workSheet.row_slice(3))  #返回由该列中所有的单元格对象组成的列表#上面输出:[empty:'', number:20201601.0, number:108.0, number:96.0, number:102.0, number:92.0, number:95.0, number:93.0, number:88.0, number:90.0, empty:''] # 获取第n行单元格数据类型编号,print(w
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值