Python中的xlrd模块使用原理解析


Posted in Python onMay 21, 2020

on里面的xlrd模块详解(一) - 疯了的小蜗 - 博客园【内容】:>

那我就一下面积个问题对xlrd模块进行学习一下:

  • 什么是xlrd模块?
  • 为什么使用xlrd模块?

1.什么是xlrd模块?

♦python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。

今天就先来说一下xlrd模块:

一、安装xlrd模块

♦ 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境。

♦或者在cmd窗口 pip installxlrd

二、使用介绍

1、常用单元格中的数据类型

♦ 0. empty(空的),1 string(text), 2 number, 3 date, 4 boolean, 5 error, 6 blank(空白表格)

2、导入模块

import xlrd

3、打开Excel文件读取数据

data = xlrd.open_workbook(filename)#文件名以及路径,如果路径或者文件名有中文给前面加一个r拜师原生字符。

 4、常用的函数

♦ excel中最重要的方法就是book和sheet的操作

1)获取book中一个工作表

table = data.sheets()[0]     #通过索引顺序获取
table = data.sheet_by_index(sheet_indx)) #通过索引顺序获取
table = data.sheet_by_name(sheet_name)#通过名称获取
以上三个函数都会返回一个xlrd.sheet.Sheet()对象
names = data.sheet_names()  #返回book中所有工作表的名字
data.sheet_loaded(sheet_name or indx)  # 检查某个sheet是否导入完毕

如:

Python中的xlrd模块使用原理解析

2)行的操作

nrows = table.nrows #获取该sheet中的有效行数
table.row(rowx) #返回由该行中所有的单元格对象组成的列表
table.row_slice(rowx) #返回由该列中所有的单元格对象组成的列表
table.row_types(rowx, start_colx=0, end_colx=None)  #返回由该行中所有单元格的数据类型组成的列表
table.row_values(rowx, start_colx=0, end_colx=None)  #返回由该行中所有单元格的数据组成的列表
table.row_len(rowx) #返回该列的有效单元格长度

Python中的xlrd模块使用原理解析

3)列(colnum)的操作

ncols = table.ncols  #获取列表的有效列数
table.col(colx, start_rowx=0, end_rowx=None) #返回由该列中所有的单元格对象组成的列表
table.col_slice(colx, start_rowx=0, end_rowx=None) #返回由该列中所有的单元格对象组成的列表
table.col_types(colx, start_rowx=0, end_rowx=None)  #返回由该列中所有单元格的数据类型组成的列表
table.col_values(colx, start_rowx=0, end_rowx=None)  #返回由该列中所有单元格的数据组成的列表

如:

Python中的xlrd模块使用原理解析

4)单元格的操作

table.cell(rowx,colx)  #返回单元格对象
table.cell_type(rowx,colx)  #返回单元格中的数据类型
table.cell_value(rowx,colx)  #返回单元格中的数据
table.cell_xf_index(rowx, colx)  # 暂时还没有搞懂

♦单元格:单元格是表格中行与列的交叉部分,它是组成表格的最小单位,可拆分或者合并。单个数据的输入和修改都是在单元格中进行的

如:

Python中的xlrd模块使用原理解析

注意:注意作用域问题,之前获取的sheet之后,都在获取到这个sheet值后,在进行,行和列以及单元格的操作。

问题现象:

♦1、使用open()函数、xlrd.open_workbook()函数打开文件,文件名若包含中文,会报错找不到这个文件或目录。

♦2、获取sheet时若包含中文,也会报错。

#打开文件
file = open(filename,'rb')
#打开excel文件
workbook = xlrd.open_workbook(filename)
#获取sheet
sheet = workbook.sheet_by_name(sheetname)

解决方案:

♦对参数进行转码即可。如:

filename = filename.decode('utf-8')

♦也试过unicode函数,不过,在ride中运行时出现了报错,所以不赞成使用。

filename = unicode(filename,'utf-8')

2.为什么使用xlrd模块?

♦在UI自动化或者接口自动化中数据维护是一个核心,所以此模块非常实用。

Python 相关文章推荐
python 域名分析工具实现代码
Jul 15 Python
Python的函数的一些高阶特性
Apr 27 Python
python 实时遍历日志文件
Apr 12 Python
Swift中的协议(protocol)学习教程
Jul 08 Python
Python内置函数——__import__ 的使用方法
Nov 24 Python
完美解决Python matplotlib绘图时汉字显示不正常的问题
Jan 29 Python
Python2 Selenium元素定位的实现(8种)
Feb 25 Python
在Pycharm中使用GitHub的方法步骤
Jun 13 Python
Django REST framework 分页的实现代码
Jun 19 Python
基于Python实现全自动下载抖音视频
Nov 06 Python
这样写python注释让代码更加的优雅
Jun 02 Python
python 爬取哔哩哔哩up主信息和投稿视频
Jun 07 Python
python中sklearn的pipeline模块实例详解
May 21 #Python
Python使用re模块验证危险字符
May 21 #Python
Django 解决新建表删除后无法重新创建等问题
May 21 #Python
python 解决Fatal error in launcher:错误问题
May 21 #Python
django实现日志按日期分割
May 21 #Python
Django之富文本(获取内容,设置内容方式)
May 21 #Python
使用Python防止SQL注入攻击的实现示例
May 21 #Python
You might like
mysql5的sql文件导入到mysql4的方法
2008/10/19 PHP
如何使用php判断所处服务器操作系统的类型
2013/06/20 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
2013/10/10 PHP
实现在同一方法中获取当前方法中新赋值的session值解决方法
2014/06/26 PHP
给WordPress中的留言加上楼层号的PHP代码实例
2015/12/14 PHP
Yii2 加载css、js 载静态资源的方法
2017/03/10 PHP
php操作mongodb封装类与用法实例
2018/09/01 PHP
Mootools 1.2教程 滑动效果(Slide)
2009/09/15 Javascript
Node.js开发指南中的简单实例(mysql版)
2013/09/17 Javascript
JQuery右键菜单插件ContextMenu使用指南
2014/12/19 Javascript
JavaScript数据结构与算法之集合(Set)
2016/01/29 Javascript
jQuery轮播图效果精简版完整示例
2016/09/04 Javascript
微信小程序 教程之条件渲染
2016/10/18 Javascript
详谈AngularJs 控制器、数据绑定、作用域
2017/07/09 Javascript
基于js中的存储键值对以及注意事项介绍
2018/03/30 Javascript
详解react-redux插件入门
2018/04/19 Javascript
vue+Element实现搜索关键字高亮功能
2019/05/28 Javascript
Vue的编码技巧与规范使用详解
2019/08/28 Javascript
Webpack5正式发布,有哪些新特性
2020/10/12 Javascript
通过实例解析javascript Date对象属性及方法
2020/11/04 Javascript
Javascript 模拟mvc实现点餐程序案例详解
2020/12/24 Javascript
[02:40]DOTA2英雄基础教程 炼金术士
2013/12/23 DOTA
python使用cookielib库示例分享
2014/03/03 Python
Python3非对称加密算法RSA实例详解
2018/12/06 Python
Python换行与不换行的输出实例
2020/02/19 Python
python脚本实现mp4中的音频提取并保存在原目录
2020/02/27 Python
Python自动创建Excel并获取内容
2020/09/16 Python
Python实现微信表情包炸群功能
2021/01/28 Python
浅谈Html5中视频 音频标签 进度条的问题
2016/07/26 HTML / CSS
介绍一下Linux文件的记录形式
2012/04/18 面试题
新员工入职感言
2014/02/01 职场文书
党员公开承诺书内容
2014/05/20 职场文书
年终奖发放方案
2014/06/02 职场文书
个人四风问题对照检查材料
2014/09/26 职场文书
鲁迅故里导游词
2015/02/05 职场文书
商务英语求职信范文
2015/03/19 职场文书