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 相关文章推荐
Eclipse + Python 的安装与配置流程
Mar 05 Python
python使用PyV8执行javascript代码示例分享
Dec 04 Python
基于Python数据可视化利器Matplotlib,绘图入门篇,Pyplot详解
Oct 13 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
Jan 29 Python
python深度优先搜索和广度优先搜索
Feb 07 Python
python 实现矩阵上下/左右翻转,转置的示例
Jan 23 Python
浅析python的Lambda表达式
Feb 27 Python
Python实现查找字符串数组最长公共前缀示例
Mar 27 Python
python 反编译exe文件为py文件的实例代码
Jun 27 Python
完美解决python针对hdfs上传和下载的问题
Jun 05 Python
详解基于python的全局与局部序列比对的实现(DNA)
Oct 07 Python
PyTorch中的拷贝与就地操作详解
Dec 09 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
thinkphp3.0 模板中函数的使用
2012/11/13 PHP
php数组添加与删除单元的常用函数实例分析
2015/02/16 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
2015/04/17 PHP
用PHP的socket实现客户端到服务端的通信实例详解
2017/02/04 PHP
写出更好的JavaScript之undefined篇(上)
2009/11/22 Javascript
登陆成功后自动计算秒数执行跳转
2014/01/23 Javascript
js从Cookies里面取值的简单实现
2014/06/30 Javascript
js判断是否按下了Shift键的方法
2015/01/27 Javascript
JavaScript操作Cookie详解
2015/02/28 Javascript
JavaScript代码实现图片循环滚动效果
2020/03/19 Javascript
Webpack如何引入bootstrap的方法
2017/06/17 Javascript
微信小程序实现下拉刷新和轮播图效果
2017/11/21 Javascript
vue页面切换到滚动页面显示顶部的实例
2018/03/13 Javascript
Vue 自适应高度表格的实现方法
2020/05/13 Javascript
python 多进程通信模块的简单实现
2014/02/20 Python
python生成器表达式和列表解析
2016/03/10 Python
在Python程序员面试中被问的最多的10道题
2017/12/05 Python
Python制作微信好友背景墙教程(附完整代码)
2019/07/17 Python
Python pickle模块实现对象序列化
2019/11/22 Python
在tensorflow中实现屏蔽输出的log信息
2020/02/04 Python
Python下使用Trackbar实现绘图板
2020/10/27 Python
Python爬虫破解登陆哔哩哔哩的方法
2020/11/17 Python
html5 css3 动态气泡按钮实例演示
2012/12/02 HTML / CSS
一家专门经营包包的英国网站:MyBag
2019/09/08 全球购物
测绘工程个人的自我评价
2013/11/23 职场文书
中学生评语大全
2014/04/18 职场文书
班组建设经验交流材料
2014/05/12 职场文书
给校长的建议书200字
2014/05/16 职场文书
抗震救灾标语
2014/06/26 职场文书
2014年组织部工作总结
2014/11/14 职场文书
2015年世界无烟日演讲稿
2015/03/18 职场文书
生产车间主任岗位职责
2015/04/08 职场文书
讲座新闻稿
2015/07/18 职场文书
golang 接口嵌套实现复用的操作
2021/04/29 Golang
5分钟教你docker安装启动redis全教程(全新方式)
2021/05/29 Redis
springboot 多数据源配置不生效遇到的坑及解决
2021/11/17 Java/Android