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 相关文章推荐
windows下wxPython开发环境安装与配置方法
Jun 28 Python
Python实现配置文件备份的方法
Jul 30 Python
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
Jun 23 Python
python检索特定内容的文本文件实例
Jun 05 Python
Python面向对象总结及类与正则表达式详解
Apr 18 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
May 03 Python
对python中基于tcp协议的通信(数据传输)实例讲解
Jul 22 Python
Python Django Cookie 简单用法解析
Aug 13 Python
解决python3 安装不了PIL的问题
Aug 16 Python
Python Tkinter图形工具使用方法及实例解析
Jun 15 Python
使用 prometheus python 库编写自定义指标的方法(完整代码)
Jun 29 Python
Python创建文件夹与文件的快捷方法
Dec 08 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中使用X-SendFile头让文件下载更快
2014/06/01 PHP
PHP图片处理之图片旋转和图片翻转实例
2014/11/19 PHP
php实现的数字验证码及数字运算验证码
2015/07/30 PHP
YII2.0之Activeform表单组件用法实例
2016/01/09 PHP
php脚本运行时的超时机制详解
2016/02/17 PHP
PHP错误处理函数
2016/04/03 PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
2017/03/15 PHP
php链式操作的实现方式分析
2019/08/12 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
2020/05/02 PHP
网站导致浏览器崩溃的原因总结(多款浏览器) 推荐
2010/04/15 Javascript
基于jquery ajax 用户无刷新登录方法详解
2012/04/28 Javascript
js操作模态窗口及父子窗口间相互传值示例
2014/06/09 Javascript
JavaScript中字符串分割函数split用法实例
2015/04/07 Javascript
Extjs 点击复选框在表格中增加相关信息行
2016/07/12 Javascript
jQuery.ajax 跨域请求webapi设置headers的解决方案
2016/08/08 Javascript
JS获取中文拼音首字母并通过拼音首字母快速查找页面内对应中文内容的方法【附demo源码】
2016/08/19 Javascript
node.js利用redis数据库缓存数据的方法
2017/03/01 Javascript
Angular CLI 安装和使用教程
2017/09/13 Javascript
Bootstrap popover 实现鼠标移入移除显示隐藏功能方法
2018/01/24 Javascript
ajax跨域访问遇到的问题及解决方案
2019/05/23 Javascript
使用layer弹窗,制作编辑User信息页面的方法
2019/09/27 Javascript
微信小程序事件流原理解析
2019/11/27 Javascript
5个你不知道的JavaScript字符串处理库(小结)
2020/06/01 Javascript
使用jQuery实现购物车
2020/10/29 jQuery
Python Mysql数据库操作 Perl操作Mysql数据库
2009/01/12 Python
Python tkinter模版代码实例
2020/02/05 Python
解决python使用list()时总是报错的问题
2020/05/05 Python
python读取图像矩阵文件并转换为向量实例
2020/06/18 Python
对Python 字典元素进行删除的方法
2020/07/31 Python
荷兰和比利时时尚鞋店:Van Dalen
2018/04/23 全球购物
全球最大化妆品零售网站:SkinStore
2020/10/24 全球购物
党员个人思想汇报
2013/12/28 职场文书
小学老师寄语大全
2014/04/04 职场文书
安全生产知识竞赛活动总结
2014/07/07 职场文书
详解MongoDB的条件查询和排序
2021/06/23 MongoDB
分享提高 Python 代码的可读性的技巧
2022/03/03 Python