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中的Numeric包和Numarray包使用教程
Apr 13 Python
Python多维/嵌套字典数据无限遍历的实现
Nov 04 Python
Python将多份excel表格整理成一份表格
Jan 03 Python
使用python根据端口号关闭进程的方法
Nov 06 Python
python读取txt文件中特定位置字符的方法
Dec 24 Python
Python 控制终端输出文字的实例
Jul 12 Python
python 使用装饰器并记录log的示例代码
Jul 12 Python
python 判断三个数字中的最大值实例代码
Jul 24 Python
Django数据模型中on_delete使用详解
Nov 30 Python
python 发送邮件的四种方法汇总
Dec 02 Python
使用python对excel表格处理的一些小功能
Jan 25 Python
python使用pycharm安装pyqt5以及相关配置
Apr 22 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
CentOS下PHP安装Oracle扩展
2015/02/15 PHP
详解PHP中的null合并运算符
2015/12/30 PHP
php写一个函数,实现扫描并打印出自定目录下(含子目录)所有jpg文件名
2017/05/26 PHP
不同浏览器对回车提交表单的处理办法
2010/02/13 Javascript
新老版本juqery获取radio对象的方法
2010/03/01 Javascript
js调试系列 断点与动态调试[基础篇]
2014/06/18 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
2015/02/17 Javascript
js实现文字在按钮上滚动的方法
2015/08/20 Javascript
在javascript中使用com组件的简单实现方法
2016/08/17 Javascript
JavaScript第一篇之实现按钮全选、功能
2016/08/21 Javascript
Angular工具方法学习
2016/12/26 Javascript
AngularJS 文件上传控件 ng-file-upload详解
2017/01/13 Javascript
原生js编写2048小游戏
2017/03/17 Javascript
vue使用element-ui的el-input监听不了回车事件的解决方法
2018/01/12 Javascript
JS实现模糊查询带下拉匹配效果
2018/06/21 Javascript
详解angular应用容器化部署
2018/08/14 Javascript
解决vue点击控制单个样式的问题
2018/09/05 Javascript
关于JavaScript中高阶函数的魅力详解
2018/09/07 Javascript
详解webpack 最简打包结果分析
2019/02/20 Javascript
arctext.js实现文字平滑弯曲弧形效果的插件
2019/05/13 Javascript
JavaScript闭包相关知识解析
2019/10/19 Javascript
react-intl实现React国际化多语言的方法
2020/09/27 Javascript
[49:59]KG vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
pytorch+lstm实现的pos示例
2020/01/14 Python
Python在线和离线安装第三方库的方法
2020/10/31 Python
Python如何实现感知器的逻辑电路
2020/12/25 Python
白兰氏健康Mall:BRAND’S
2017/11/13 全球购物
工商学院毕业生个人自我评价
2013/09/19 职场文书
自荐信格式简述
2014/01/25 职场文书
《骑牛比赛》教后反思
2014/04/22 职场文书
监察建议书格式
2014/05/19 职场文书
"9.18"国耻日演讲稿范文
2014/09/14 职场文书
七年级思品教学反思
2016/02/20 职场文书
想要创业,那么你做好准备了吗?
2019/07/01 职场文书
导游词之南京栖霞山
2019/10/18 职场文书
Javascript设计模式之原型模式详细
2021/10/05 Javascript