python之xlrd使用整理

Xlrd

  • 1.简述:
  • 2.xlrd模块的基本操作
    • 2.1打开excel文件获取book对象
    • 2.2获取xlrd.book.Book 对象中的所有sheet名称
    • 2.3获取xlrd.book.Book对象中的所有sheet对象
    • 2.4判断xlrd.book.Book对象中某个sheet对象是否导入
  • 3.sheet对象的基本操作
    • 3.1行操作
      • ①获取所有行数
      • ②获取某行的数据,值为列表形式
      • ③获取某行的类型及数据
      • ④获取某行的类型的列表
      • ⑤以切片形式获取某行的类型及数据
      • ⑥获取某行的长度
      • ⑦获取sheet的所有生成器
    • 3.2列操作
      • ①获取有效列数
      • ②获取某列数据
      • ③获取某列类型
      • ④以slice切片方式获取某列数据
    • 3.3单元格操作
      • ①获取单元格数据对象。 sheet.cell(rowx,colx)类型为xlrd.sheet.Cell
      • ②获取单元格类型。Sheet.cell_type(rowx,colx)
      • ③获取单元格数据。
    • 3.4对单元格中的日期/时间操作
      • ①xlrd.xldate_as_tuple()
      • ②xlrd.xldate_as_datetime(value,mode).strftime(“%Y-%m-%d”)

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)

在这里插入图片描述

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)

在这里插入图片描述

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)

在这里插入图片描述

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)

在这里插入图片描述

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

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)

在这里插入图片描述

③获取某行的类型及数据

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)

在这里插入图片描述

④获取某行的类型的列表

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)

在这里插入图片描述

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

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)

在这里插入图片描述

⑥获取某行的长度

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)

在这里插入图片描述

⑦获取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)

在这里插入图片描述

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)

在这里插入图片描述

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 datetimesheet2_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]))

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/252894.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

python xlrd_python学习之xlrd的使用

标签: 最近想整一个用Excel表格管理测试用例的自动化框架,因此重新学习了下xlrd,用这个模块读取Excel表格中的数据 一、安装xlrd 到python官网下载http://pypi.python.org/pypi/xlrd,下载后解压,进入解压的目录&…

xlrd

xlrd是Python语言中,读取excel的扩展工具 先建一个excel文件,可以使用相对路径或绝对路径 使用时需要先import xlrd r应该是read的意思 注意row_values()和col_values()的参数

周末开心下

收集了一些有趣的神图,周末开心下。 微信表示很尴尬 和杠精吵架 互联网公司都爱用动物起名? 炒股的秘密 这个文案可以 来都来了 为什么十几年前没有充电宝,诺基亚一天下来耗电1% 现在就差16亿了 谁再让你拼多多砍价, 先填一下这个…

祝大家周末快乐

今天是周末,这个星期过得好累呀,又是搬家,又是加班的,明天终于可以睡懒觉了!!祝大家周末快乐!

周末总结啦

今天是2022年10月22号,又是一个星期六,距离上次的第一篇博客已经有几天了。今天来总结总结这几天的学习内容。 1、源码,反码,补码的关系——正数的三码归一;负数的反码等于源码除了符号位,其余位全部取反&a…

周末到了~周末愉快哦

Finally,Friday is come,Cool 周末到了就是爽啊,而且是不用加班的周末哦,祝自己快乐,也祝你快乐! 昨天晚上看了 意大利 VS 捷克 的比赛,可真悬呐。意大利去年世界杯止步小组赛,今年…

s8 android调用相机,教你如何在安卓手机上使用谷歌 pixel相机

谷歌pixel手机的拍照效果一直被人称赞,除了有着彪悍的硬件外,其自身的相机算法也是有着相当强大的作用,今天我们就找到了一款这样的软件,可以将谷歌pixel的相机移植到安卓手机上,已达到提到相机拍照的效果,…

s8计算机功能在哪里,三星Galaxy S8新功能曝光,手机直接当电脑用!

原标题:三星Galaxy S8新功能曝光,手机直接当电脑用! 每时每刻「报点」你想要的!Hello 大家好!我是龙二_VD 在Windows 10上有一项名为Continuum功能,相信大家没用过也都听说过,简单来说就是将手机…

三星s8是否支持html,真正的全面屏!国行三星S8终于支持导航栏隐藏

自从三星发布了Galaxy S8之后,就掀起来一股热潮。我们暂且不看 外观设计和性能配置,光凭那超高的全面屏设计,就足够让用户们为之追捧。毕竟国内手机市场中的智能手机已经逐渐的趋于同质化,不是我像你,就是你像我。唯一…

s8 android 8.0变化,等待很长时间!三星S8系列手机现在可以升级到Android 8.0系统的稳定版本!...

Android 8.0系统正式发布已经过去了半年,但是由于支离破碎,大多数用户仍然无法升级到最新的Android系统. 对于三星用户来说更是如此. 即使在2月,他们仍然没有收到Android 8.0的推送更新. 但是对于三星S8用户而言三星手机怎么升级最新版本&…

三星s8怎么分屏操作_日渐加快的生活节奏 让三星Galaxy Z Fold2 5G帮你轻松应对

(原标题:日渐加快的生活节奏 让三星Galaxy Z Fold2 5G帮你轻松应对) 这两年,“丧文化”成为了一种特定时期的文化现象。在996的工作与家庭生活间来回穿梭,在老板日常催促的Deadline前冲锋陷阵……日渐加快的生活节奏,让我们不得不…

三星s8怎么分屏操作_一心三用 三星Galaxy Z Fold2 5G成多任务处理大师_

2020年10月23日 11:15 作者:黄页 编辑:黄页 这两年,“丧文化”成为了一种特定时期的文化现象。在996的工作与家庭生活间来回穿梭,在老板日常催促的Deadline前冲锋陷阵……日渐加快的生活节奏,让我们不得不抓紧时间一心…

三星s8怎么分屏操作_一心三用 三星Galaxy Z Fold2 5G成多任务处理大师-三星 ——快科技(驱动之家旗下媒体)-...

这两年,“丧文化”成为了一种特定时期的文化现象。在996的工作与家庭生活间来回穿梭,在老板日常催促的Deadline前冲锋陷阵……日渐加快的生活节奏,让我们不得不抓紧时间一心多用。可以说,多任务处理已成为日常生活、工作的真实写照…

三星s8怎么分屏操作_三星Galaxy Z Fold2帮你应对快节奏生活

这两年,“丧文化”成为了一种特定时期的文化现象。在996的工作与家庭生活间来回穿梭,在老板日常催促的Deadline前冲锋陷阵……日渐加快的生活节奏,让我们不得不抓紧时间一心多用。可以说,多任务处理已成为日常生活、工作的真实写照…

全面屏适配(小米8,三星s8等)

引入问题: 用户提出自己的小米8手机运行app时候底部有黑边,因为是内部系统不方便截图,我这里就从miui里找了一个图来代替 开始还担心是屏幕适配的问题(dimens适配),但是系统中只适配横向,纵向不做适配; 下…

cocos creator 手机截屏

cocos creator 手机截屏分享二维码 完整写法。小子虽然不才但也讨厌很多人 直接复制别人的博客粘贴到自己上面还不补全。说多了就是泪啊!不说多了上代码。加班写出来的没有优化谅解哈。 1.这里是手机截屏功能 // Learn cc.Class: // - [Chinese] https://docs.co…

android三星s8底部菜单,【Android】三星Galaxy S8及S8+的屏幕适配

一、前言 Galaxy S8及S8分别搭载“5.8”与“6.2”大屏,高达84%的屏幕占比为Galaxy S8及S8在游戏娱乐、观看视频时带来深度沉浸式视觉体验。但是与此同时S8却有着一个奇葩的屏幕比例:18.5比9,屏幕分辨率:29601440。通常我们在开发过…

三星s8android8.0,三星S8国行升级安卓8.0 系统流畅度提升

原标题:三星S8国行升级安卓8.0 系统流畅度提升 【手机中国 新闻】今天,三星正式为S8国行版用户开启“amsung Experience 9.0 Beta(安卓8.0)”抢先体验活动。用户可以通过三星应用商店下载“盖乐世”APP,并点击盖乐世空间公告栏里的“加入盖乐…

三星s8 android9.0官方rom,三星s8刷机包(最新固件升级V9.0)

三星s8搭载10nm制程的骁龙835和Exynos 8895处理器,有5.8英寸和6.2英寸两个版本。全网通、指纹识别、双频WIFI、高通骁龙、GPS导航,新版本已经可以进行下载体验,这个系统升级包主要是对系统功能进行性能调整,清新流畅,运行稳定,有需要的,可以进行下载了。 刷机有风险,操…

itchat群机器人的自动画实现

总体功能或思想 1、根据 itchat文档 实现简单的聊天回复功能 2、添加敏感词汇过滤、添加一些日常对话的回答 3、获取群成员信息,收到消息后,如果是女同胞发言,则给出提示 4、接入图灵机器人,提升日常会话能力 … 软件安装&#xf…