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函数帮助查询小工具
Mar 13 Python
Python实现两个list对应元素相减操作示例
Jun 09 Python
Python实现读取json文件到excel表
Nov 18 Python
Python Pandas找到缺失值的位置方法
Apr 12 Python
Tensorflow 同时载入多个模型的实例讲解
Jul 27 Python
Flask实现图片的上传、下载及展示示例代码
Aug 03 Python
python中文编码与json中文输出问题详解
Aug 24 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
Jan 19 Python
Python爬虫实现百度翻译功能过程详解
May 29 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
Jun 02 Python
Keras自定义IOU方式
Jun 10 Python
python在一个范围内取随机数的简单实例
Aug 16 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
杏林同学录(九)
2006/10/09 PHP
php的access操作类
2008/04/09 PHP
轻松修复Discuz!数据库
2008/05/03 PHP
PHP函数学习之PHP函数点评
2012/07/05 PHP
symfony表单与页面实现技巧
2015/01/26 PHP
Centos7 Yum安装PHP7.2流程教程详解
2019/07/02 PHP
javascript中创建对象的三种常用方法
2010/12/30 Javascript
利用进制转换压缩数字函数分享
2014/01/02 Javascript
js实现拉幕效果的广告代码
2015/09/02 Javascript
Jquery中巧用Ajax的beforeSend方法
2016/01/20 Javascript
web 屏蔽BackSpace键实例代码
2016/12/24 Javascript
js对象实例详解(JavaScript对象深度剖析,深度理解js对象)
2017/09/21 Javascript
vue实现动态表格提交参数动态生成控件的操作
2020/11/09 Javascript
[01:08:10]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS LGD-CDEC
2014/05/22 DOTA
Python3中的2to3转换工具使用示例
2015/06/12 Python
Python单链表简单实现代码
2016/04/27 Python
用Python实现最速下降法求极值的方法
2019/07/10 Python
对django 模型 unique together的示例讲解
2019/08/06 Python
Python之Numpy的超实用基础详细教程
2019/10/23 Python
基于Pytorch SSD模型分析
2020/02/18 Python
基于python获取本地时间并转换时间戳和日期格式
2020/10/27 Python
python如何修改文件时间属性
2021/02/05 Python
CSS3+Sprite实现僵尸行走动画特效源码
2016/01/27 HTML / CSS
HTML5 device access 设备访问详解
2018/05/24 HTML / CSS
德国咖啡批发商:Coffeefair
2019/08/26 全球购物
计算机专业优秀大学生自我总结
2014/01/21 职场文书
秋季开学典礼主持词
2014/03/19 职场文书
2014年党员个人剖析材料
2014/10/08 职场文书
2014年评职称工作总结
2014/11/20 职场文书
员工手册董事长致辞
2015/07/29 职场文书
Mysql实现主从配置和多主多从配置
2021/06/02 MySQL
python如何利用cv2模块读取显示保存图片
2021/06/04 Python
PyTorch 如何检查模型梯度是否可导
2021/06/05 Python
浅谈MySQL 亿级数据分页的优化
2021/06/15 MySQL
如何vue使用el-table遍历循环表头和表体数据
2022/04/26 Vue.js
Spring Cloud OpenFeign模版化客户端
2022/06/25 Java/Android