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采用socket模拟TCP通讯的实现方法
Nov 19 Python
Python开发的实用计算器完整实例
May 10 Python
python爬取淘宝商品详情页数据
Feb 23 Python
小白入门篇使用Python搭建点击率预估模型
Oct 12 Python
python多线程并发让两个LED同时亮的方法
Feb 18 Python
PIL图像处理模块paste方法简单使用详解
Jul 17 Python
python模块导入的方法
Oct 24 Python
Python 实现OpenCV格式和PIL.Image格式互转
Jan 09 Python
python中的socket实现ftp客户端和服务器收发文件及md5加密文件
Apr 01 Python
python从ftp获取文件并下载到本地
Dec 05 Python
利用python进行数据加载
Jun 20 Python
7个关于Python的经典基础案例
Nov 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
浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法
2013/06/18 PHP
php 判断服务器操作系统的类型
2014/02/17 PHP
Yii学习总结之数据访问对象 (DAO)
2015/02/22 PHP
php通过array_merge()函数合并两个数组的方法
2015/03/18 PHP
PHP中使用socket方式GET、POST数据实例
2015/04/02 PHP
Thinkphp+smarty+uploadify实现无刷新上传
2015/07/30 PHP
PHP图片添加水印功能示例小结
2016/10/03 PHP
thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
2017/03/16 PHP
ExtJS 入门
2010/10/29 Javascript
Node.js的特点和应用场景介绍
2014/11/04 Javascript
jQuery hover事件简单实现同时绑定2个方法
2016/06/07 Javascript
vue滚动轴插件better-scroll使用详解
2017/10/17 Javascript
Python内置函数之filter map reduce介绍
2014/11/30 Python
python列出目录下指定文件与子目录的方法
2015/07/03 Python
使用Python的turtle模块画图的方法
2017/11/15 Python
基于Django contrib Comments 评论模块(详解)
2017/12/08 Python
python调用API实现智能回复机器人
2018/04/10 Python
python pandas修改列属性的方法详解
2018/06/09 Python
Python基于xlrd模块操作Excel的方法示例
2018/06/21 Python
python 3.7.0 安装配置方法图文教程
2018/08/27 Python
python中退出多层循环的方法
2018/11/27 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
Python爬虫抓取论坛关键字过程解析
2020/10/19 Python
如何基于matlab相机标定导出xml文件
2020/11/02 Python
python利用proxybroker构建爬虫免费IP代理池的实现
2021/02/21 Python
html5使用Drag事件编辑器拖拽上传图片的示例代码
2017/08/22 HTML / CSS
基于html5 canvas做批改作业的小插件
2020/05/20 HTML / CSS
比利时买床:Beter Bed
2017/12/06 全球购物
eBay意大利购物网站:eBay.it
2019/09/04 全球购物
药学职务聘任书
2014/03/29 职场文书
上班迟到检讨书范文300字
2014/11/02 职场文书
新党章的学习心得体会
2014/11/07 职场文书
放假通知格式
2015/04/14 职场文书
同事打架检讨书
2015/05/06 职场文书
借款民事起诉状范文
2015/05/19 职场文书
利用Matlab绘制各类特殊图形的实例代码
2021/07/16 Python