Python中的xlrd模块使用整理


Posted in Python onJune 15, 2021

1.简述:

xlrd是读取excel表格数据;

支持 xlsx和xls 格式的excel表格;

三方模块安装方式:pip3 install xlrd;

模块导入方式: import xlrd

2.xlrd模块的基本操作

Xler的操作主要分两步:
其一时获取book对象,
其二book对象再次进行excel的读取操作。

2.1打开excel文件获取book对象

xlrd.open_workbook(filename[,logfile,file_contents,…])

如果filename 文件名不存在,则会报错 FilenotFoundError。

如果filename 文件名存在,则会返回一个xrld.book.Book 对象。 import xlrd

Workbook = xlrd.open_workbook("C:\\Users\li\Desktop\银联测试案例.xls")
print(Workbook)

Python中的xlrd模块使用整理

2.2获取xlrd.book.Book 对象中的所有sheet名称

Names = Workbook.sheet_names()

workbook = xlrd.open_workbook("C:\\Users\li\Desktop\测试用例.xlsx")
names = workbook.sheet_names()
print(names)

Python中的xlrd模块使用整理

2.3获取xlrd.book.Book对象中的所有sheet对象

Sheets = workbook.sheets()

workbook = xlrd.open_workbook("C:\\Users\li\Desktop\测试用例.xlsx")
names = workbook.sheets()
print(names)

获取单个的sheet页对象

三种方式 :

第一种 worksheet1 = workbook.sheet_by_index()
第二种 worksheet2 = workbook.sheet_by_name()
第三种 worksheet3 = workbook.sheets()[0]

workbook = xlrd.open_workbook("C:\\Users\lw\Desktop\测试用例.xlsx")
sheets = workbook.sheets()

worksheet1 = workbook.sheet_by_index(0)
worksheet2 = workbook.sheet_by_name("公司分部")
worksheet3 = workbook.sheets()[0]

print(worksheet1,worksheet2,worksheet3)

Python中的xlrd模块使用整理

2.4判断xlrd.book.Book对象中某个sheet对象是否导入

通过文件名

workbook = xlrd.open_workbook("C:\\Users\lw\Desktop\测试用例.xlsx")
sheets = workbook.sheets()
print(workbook.sheet_loaded("公司分部"))

通过索引

workbook = xlrd.open_workbook("C:\\Users\lw\Desktop\测试用例.xlsx")
sheets = workbook.sheets()
print(workbook.sheet_loaded(0))

3.sheet对象的基本操作

3.1行操作

①获取所有行数

Rows = sheet.nrows 特别注意,这是属性而不是方法,不加括号。

workbook = xlrd.open_workbook("C:\\Users\lw\Desktop\测试用例.xlsx")
sheets = workbook.sheets()

worksheet1 = workbook.sheet_by_index(0)
worksheet2 = workbook.sheet_by_name("公司分部")
worksheet3 = workbook.sheets()[0]

print(worksheet1.nrows)

Python中的xlrd模块使用整理

②获取某行的数据,值为列表形式

Value = sheet.row_values()

workbook = xlrd.open_workbook("C:\\Users\lw\Desktop\测试用例.xlsx")
sheets = workbook.sheets()

worksheet1 = workbook.sheet_by_index(0)
worksheet2 = workbook.sheet_by_name("公司分部")
worksheet3 = workbook.sheets()[0]

value = worksheet1.row_values(1)
print(value)

Python中的xlrd模块使用整理

③获取某行的类型及数据

Sheet.row()

workbook = xlrd.open_workbook("C:\\Users\li\Desktop\测试用例.xlsx")
sheets = workbook.sheets()

worksheet1 = workbook.sheet_by_index(0)
worksheet2 = workbook.sheet_by_name("公司分部")
worksheet3 = workbook.sheets()[0]

value = worksheet1.row(1)
print(value)

Python中的xlrd模块使用整理

④获取某行的类型的列表

Sheet.row_types()

单元类型ctype:empty为0,string为1,number为2,date为3,boolean为4, error为5(左边为类型,右边为类型对应的值);

workbook = xlrd.open_workbook("C:\\Users\li\Desktop\测试用例.xlsx")
sheets = workbook.sheets()

worksheet1 = workbook.sheet_by_index(0)
worksheet2 = workbook.sheet_by_name("公司分部")
worksheet3 = workbook.sheets()[0]

value = worksheet1.row_types(1)
print(value)

Python中的xlrd模块使用整理

⑤以切片形式获取某行的类型及数据

Sheet.row_slice() 记录分隔符为\n

workbook = xlrd.open_workbook("C:\\Users\li\Desktop\测试用例.xlsx")
sheets = workbook.sheets()

worksheet1 = workbook.sheet_by_index(0)
worksheet2 = workbook.sheet_by_name("公司分部")
worksheet3 = workbook.sheets()[0]

value = worksheet1.row_slice(1)
print(value)

Python中的xlrd模块使用整理

⑥获取某行的长度

Sheet.len()

workbook = xlrd.open_workbook("C:\\Users\li\Desktop\测试用例.xlsx")
sheets = workbook.sheets()

worksheet1 = workbook.sheet_by_index(0)
worksheet2 = workbook.sheet_by_name("公司分部")
worksheet3 = workbook.sheets()[0]

value = worksheet1.row_len(1)
print(value)

Python中的xlrd模块使用整理

⑦获取sheet的所有生成器

Sheet.get_rows()

workbook = xlrd.open_workbook("C:\\Users\li\Desktop\测试用例.xlsx")
sheets = workbook.sheets()

worksheet1 = workbook.sheet_by_index(0)
worksheet2 = workbook.sheet_by_name("公司分部")
worksheet3 = workbook.sheets()[0]

row = worksheet1.get_rows()
for one in row:
    print(one)

Python中的xlrd模块使用整理

3.2列操作

①获取有效列数

Sheet.cols 注意:此处为属性不加括号

②获取某列数据

Sheet.values()

③获取某列类型

Sheet.types()

单元类型ctype:empty为0,string为1,number为2,date为3,boolean为4, error为5(左边为类型,右边为类型对应的值);

④以slice切片方式获取某列数据

Sheet.value_slice()
workbook = xlrd.open_workbook("C:\\Users\li\Desktop\测试用例.xlsx")
sheets = workbook.sheets()

worksheet1 = workbook.sheet_by_index(0)
worksheet2 = workbook.sheet_by_name("公司分部")
worksheet3 = workbook.sheets()[0]

cols = worksheet1.col
value = worksheet1.col_values(0)
type = worksheet1.col_types(0)
valuesl = worksheet1.col_slice(0)

print(cols)
print("----------------------")
print(value)
print("----------------------")
print(type)
print("----------------------")
print(valuesl)

Python中的xlrd模块使用整理

3.3单元格操作

①获取单元格数据对象。 sheet.cell(rowx,colx)类型为xlrd.sheet.Cell

②获取单元格类型。Sheet.cell_type(rowx,colx)

单元类型ctype:empty为0,string为1,number为2,date为3,boolean为4, error为5(左边为类型,右边为类型对应的值);

③获取单元格数据。

Sheet.cell_value(rowx,colx)

3.4对单元格中的日期/时间操作

单元类型ctype:empty为0,string为1,number为2,date为3,boolean为4, error为5(左边为类型,右边为类型对应的值);

①xlrd.xldate_as_tuple()

“{}-{:0>2}-{:0>2}”.format(date[0],date[1],date[2])

②xlrd.xldate_as_datetime(value,mode).strftime(“%Y-%m-%d”)

workbook = xlrd.open_workbook("C:\\Users\li\Desktop\测试用例.xlsx")
import datetime

sheet2_object = workbook.sheet_by_index(0)
value_type = sheet2_object.cell(0, 1).ctype
value_type = sheet2_object.cell_value(1, 4)

data = xlrd.xldate.xldate_as_datetime(value_type,0)
print(data.strftime("%Y-%m-%d"))

date = xlrd.xldate.xldate_as_tuple(value_type,0)
print("{}-{:0>2}-{:0>2}".format(date[0],date[1],date[2]))

Python中的xlrd模块使用整理

到此这篇关于Python中的xlrd模块使用整理的文章就介绍到这了,更多相关xlrd模块的使用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python中实现php的var_dump函数功能
Jan 21 Python
Python中用sleep()方法操作时间的教程
May 22 Python
python图像处理之反色实现方法
May 30 Python
Python的Django框架中使用SQLAlchemy操作数据库的教程
Jun 02 Python
python多进程实现文件下载传输功能
Jul 28 Python
python实现简单加密解密机制
Mar 19 Python
Python 计算任意两向量之间的夹角方法
Jul 05 Python
python opencv 简单阈值算法的实现
Aug 04 Python
python中的itertools的使用详解
Jan 13 Python
Python多线程thread及模块使用实例
Apr 28 Python
详解如何在PyCharm控制台中输出彩色文字和背景
Aug 17 Python
Python3.9.1中使用match方法详解
Feb 08 Python
浅谈python中的多态
Jun 15 #Python
如何正确理解python装饰器
Jun 15 #Python
详解python网络进程
整理Python中常用的conda命令操作
Python实现单例模式的5种方法
Jun 15 #Python
用Python爬取某乎手机APP数据
七个非常实用的Python工具包总结
You might like
PHP 实用代码收集
2010/01/22 PHP
深入php socket的讲解与实例分析
2013/06/13 PHP
php网页病毒清除类
2014/12/08 PHP
php图像验证码生成代码
2017/06/08 PHP
php递归函数怎么用才有效
2018/02/24 PHP
js控制滚动条缓慢滚动到顶部实现代码
2013/03/20 Javascript
js 阻止子元素响应父元素的onmouseout事件具体实现
2013/12/23 Javascript
JavaScript中的分号插入机制详细介绍
2015/02/11 Javascript
JavaScript中的acos()方法使用详解
2015/06/14 Javascript
JavaScript实现将数组数据添加到Select下拉框的方法
2015/08/21 Javascript
jQuery实现返回顶部功能
2016/02/23 Javascript
利用vue-router实现二级菜单内容转换
2016/11/30 Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
2017/02/05 Javascript
Nodejs--post的公式详解
2017/04/29 NodeJs
vue生命周期实例小结
2018/08/15 Javascript
vue+高德地图写地图选址组件的方法
2019/05/18 Javascript
微信小程序的引导页实现代码
2020/06/24 Javascript
[50:28]LGD女子学院第三期 DOTA2复仇之魂教学
2013/12/24 DOTA
Python pickle模块用法实例
2015/04/14 Python
在Python中处理日期和时间的基本知识点整理汇总
2015/05/22 Python
Python内置数据结构与操作符的练习题集锦
2016/07/01 Python
Python实现中一次读取多个值的方法
2018/04/22 Python
flask-socketio实现WebSocket的方法
2018/07/31 Python
python中下标和切片的使用方法解析
2019/08/27 Python
python实现图像随机裁剪的示例代码
2020/12/10 Python
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
英国在线潜水商店:Simply Scuba
2019/03/25 全球购物
摄影助理岗位职责
2014/02/07 职场文书
公务员转正考察材料
2014/02/07 职场文书
测试工程师程序员求职信范文
2014/02/20 职场文书
揭牌仪式主持词
2014/03/19 职场文书
团日活动总结报告
2014/06/25 职场文书
小学教师求职信范文
2015/03/20 职场文书
行政诉讼答辩状
2015/05/21 职场文书
2015年幼儿园师德师风建设工作总结
2015/10/23 职场文书
MySql分区类型及创建分区的方法
2022/04/13 MySQL