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 03 Python
浅谈python装饰器探究与参数的领取
Dec 01 Python
python通过getopt模块如何获取执行的命令参数详解
Dec 29 Python
Linux下多个Python版本安装教程
Aug 15 Python
python读取word文档,插入mysql数据库的示例代码
Nov 07 Python
python画图把时间作为横坐标的方法
Jul 07 Python
python3 线性回归验证方法
Jul 09 Python
Django自定义模板过滤器和标签的实现方法
Aug 21 Python
Python concurrent.futures模块使用实例
Dec 24 Python
python json 递归打印所有json子节点信息的例子
Feb 27 Python
python实现IOU计算案例
Apr 12 Python
Python必备技巧之字符数据操作详解
Mar 23 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
php获取文件内容最后一行示例
2014/01/09 PHP
跨浏览器PHP下载文件名中的中文乱码问题解决方法
2015/03/05 PHP
php使用PDO下exec()函数查询执行后受影响行数的方法
2017/03/28 PHP
PHP大文件及断点续传下载实现代码
2020/08/18 PHP
一个不错的应用,用于提交获取文章内容,不推荐用
2007/03/03 Javascript
fckeditor 获取文本框值的实现代码
2009/02/09 Javascript
Javascript 设计模式(二) 闭包
2010/05/26 Javascript
Extjs中ComboBox加载并赋初值的实现方法
2012/03/22 Javascript
热点新闻滚动特效的js代码
2013/08/17 Javascript
jQuery操作input值的各种方法总结
2013/11/21 Javascript
js实现为a标签添加事件的方法(使用闭包循环)
2016/08/02 Javascript
vue2 自定义动态组件所遇到的问题
2017/06/08 Javascript
react native基于FlatList下拉刷新上拉加载实现代码示例
2018/09/30 Javascript
vue项目中实现图片预览的公用组件功能
2018/10/26 Javascript
详解如何为你的angular app构建一个第三方库
2018/12/07 Javascript
基于aotu.js实现微信自动添加通讯录中的联系人功能
2020/05/28 Javascript
jQuery编写QQ简易聊天框
2020/08/27 jQuery
Tensorflow简单验证码识别应用
2017/05/25 Python
python Flask实现restful api service
2017/12/04 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
2020/01/08 Python
python如何获取apk的packagename和activity
2020/01/10 Python
Python sublime安装及配置过程详解
2020/06/29 Python
Django crontab定时任务模块操作方法解析
2020/09/10 Python
详解CSS3 用border写 空心三角箭头 (两种写法)
2017/09/29 HTML / CSS
HTML5 Canvas API中drawImage()方法的使用实例
2016/03/25 HTML / CSS
Puma印度官网:德国运动品牌
2019/10/06 全球购物
文职个人求职信范文
2013/09/23 职场文书
《都江堰》教学反思
2014/02/07 职场文书
自荐书范文范例
2014/02/13 职场文书
5.12护士节演讲稿
2014/04/30 职场文书
环保建议书300字
2014/05/14 职场文书
公司授权委托书范本
2014/09/18 职场文书
2015年技术工作总结范文
2015/04/20 职场文书
大学生暑期实践报告
2015/07/13 职场文书
Java8中Stream的一些神操作
2021/11/02 Java/Android
分享很少见很有用的SQL功能CORRESPONDING
2022/08/05 MySQL