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程序中实现分布式进程的教程
Apr 28 Python
python函数装饰器用法实例详解
Jun 04 Python
Python实战小程序利用matplotlib模块画图代码分享
Dec 09 Python
Python使用正则表达式获取网页中所需要的信息
Jan 29 Python
Java与Python两大幸存者谁更胜一筹呢
Apr 12 Python
Python在groupby分组后提取指定位置记录方法
Apr 20 Python
Python 将pdf转成图片的方法
Apr 23 Python
Python-Flask:动态创建表的示例详解
Nov 22 Python
Django框架反向解析操作详解
Nov 28 Python
pytorch实现用CNN和LSTM对文本进行分类方式
Jan 08 Python
python实现信号时域统计特征提取代码
Feb 26 Python
Python新手如何理解循环加载模块
May 29 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
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
2007/08/26 PHP
PHP运行模式的深入理解
2013/06/03 PHP
解析php如何将日志写进syslog
2013/06/28 PHP
PHP执行SQL文件并将SQL文件导入到数据库
2015/09/17 PHP
ThinkPHP中类的构造函数_construct()与_initialize()的区别详解
2017/03/13 PHP
javascript语句中的CDATA标签的意义
2007/05/09 Javascript
javascript 面向对象继承
2009/11/26 Javascript
WEB 浏览器兼容 推荐收藏
2010/05/14 Javascript
jQuery ready函数滥用分析
2011/02/16 Javascript
javascript学习笔记(六) Date 日期类型
2012/06/19 Javascript
类似php的js数组的in_array函数自定义方法
2013/12/27 Javascript
js保留小数点后几位的写法
2014/01/03 Javascript
Jquery中基本选择器用法实例详解
2015/05/18 Javascript
对javascript继承的理解
2016/10/11 Javascript
百度搜索框智能提示案例jsonp
2016/11/28 Javascript
纯js实现动态时间显示
2020/09/07 Javascript
jQuery实现点击DIV同时点击CheckBox,并为DIV上背景色的实例
2017/12/18 jQuery
AngularJS实现的生成随机数与猜数字大小功能示例
2017/12/25 Javascript
如何使用 vue + d3 画一棵树
2018/12/03 Javascript
angular 实现同步验证器跨字段验证的方法
2019/04/11 Javascript
js判断非127开头的IP地址的实例代码
2020/01/05 Javascript
[03:01]2014DOTA2国际邀请赛 小组赛7月13日TOPPLAY
2014/07/14 DOTA
Python实现简单字典树的方法
2016/04/29 Python
Python装饰器用法实例总结
2018/05/26 Python
Python实现的json文件读取及中文乱码显示问题解决方法
2018/08/06 Python
使用TensorFlow搭建一个全连接神经网络教程
2020/02/06 Python
html5的websockets全双工通信详解学习示例
2014/02/26 HTML / CSS
美国高品质个性化珠宝销售网站:Jewlr
2018/05/03 全球购物
俄罗斯最大的香水和化妆品网上商店:Randewoo
2020/11/05 全球购物
荣耀商城:HIHONOR
2020/11/03 全球购物
Java中会存在内存泄漏吗,请简单描述
2016/12/22 面试题
this关键字的作用
2016/01/30 面试题
外企办公室竞聘演讲稿
2013/12/29 职场文书
2014年高校辅导员工作总结
2014/12/09 职场文书
入党培养人考察意见
2015/06/08 职场文书
优秀团员主要事迹范文
2015/11/05 职场文书