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逐行读取文件内容的三种方法
Jan 20 Python
python pandas 组内排序、单组排序、标号的实例
Apr 12 Python
Python3导入自定义模块的三种方法详解
Apr 13 Python
python numpy 显示图像阵列的实例
Jul 02 Python
利用python实现在微信群刷屏的方法
Feb 21 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
Aug 05 Python
Python整数与Numpy数据溢出问题解决
Sep 11 Python
解决Jupyter notebook更换主题工具栏被隐藏及添加目录生成插件问题
Apr 20 Python
python如何更新包
Jun 11 Python
python学习笔记之多进程
Aug 06 Python
python PyAUtoGUI库实现自动化控制鼠标键盘
Sep 09 Python
Python编程中内置的NotImplemented类型的用法
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 函数语法介绍一
2009/06/14 PHP
PHP JSON格式数据交互实例代码详解
2011/01/13 PHP
PHP下判断网址是否有效的代码
2011/10/08 PHP
深入php socket的讲解与实例分析
2013/06/13 PHP
具有时效性的php加密解密函数代码
2013/06/19 PHP
php生成缩略图示例代码分享(使用gd库实现)
2014/01/20 PHP
thinkphp验证码显示不出来的解决方法
2014/03/29 PHP
用PHP代码给图片加水印
2015/07/01 PHP
详解HTTP Cookie状态管理机制
2016/01/14 PHP
php封装的单文件(图片)上传类完整实例
2016/10/18 PHP
php实现的中文分词类完整实例
2017/02/06 PHP
PHP基于面向对象实现的留言本功能实例
2018/04/04 PHP
laravel 数据验证规则详解
2019/10/23 PHP
jQuery中innerHeight()方法用法实例
2015/01/19 Javascript
js改变style样式和css样式的简单实例
2016/06/28 Javascript
JS获得多个同name 的input输入框的值的实现方法
2017/01/09 Javascript
Bootstrap 设置datetimepicker在屏幕上面弹出设置方法
2017/03/21 Javascript
Vue中的methods、watch、computed的区别
2018/11/26 Javascript
JavaScript简单实现动态改变HTML内容的方法示例
2018/12/25 Javascript
ios中视频的最后一桢问题解决
2019/05/14 Javascript
20多个小事例带你重温ES10新特性(小结)
2019/09/29 Javascript
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
python3将视频流保存为本地视频文件
2018/06/20 Python
python利用openpyxl拆分多个工作表的工作簿的方法
2019/09/27 Python
python实现连连看游戏
2020/02/14 Python
opencv 图像加法与图像融合的实现代码
2020/07/08 Python
使用python脚本自动生成K8S-YAML的方法示例
2020/07/12 Python
浅谈利用缓存来优化HTML5 Canvas程序的性能
2015/05/12 HTML / CSS
Blue Nile台湾:钻石珠宝商,订婚首饰、结婚戒指和精品首饰
2017/11/24 全球购物
Lampenwelt德国:欧洲领先的灯具和照明在线商店
2018/08/05 全球购物
招聘专员岗位职责
2014/03/07 职场文书
竞选副班长演讲稿
2014/04/24 职场文书
超市开店计划书
2014/04/26 职场文书
拾金不昧表扬信
2015/01/16 职场文书
python 实现定时任务的四种方式
2021/04/01 Python
Linux中如何安装并部署Redis
2022/04/18 Servers