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代码嵌入C++程序进行编写的实例
Jul 31 Python
用Python写一个无界面的2048小游戏
May 24 Python
Tornado协程在python2.7如何返回值(实现方法)
Jun 22 Python
python socket网络编程之粘包问题详解
Apr 28 Python
Python 函数返回值的示例代码
Mar 11 Python
Python微信操控itchat的方法
May 31 Python
解决pyqt5中QToolButton无法使用的问题
Jun 21 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
Jul 05 Python
Python中的类与类型示例详解
Jul 10 Python
Python 控制终端输出文字的实例
Jul 12 Python
python模块导入的方法
Oct 24 Python
python Scrapy爬虫框架的使用
Jan 21 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
WIN98下Apache1.3.14+PHP4.0.4的安装
2006/10/09 PHP
MYSQL环境变量设置方法
2007/01/15 PHP
php 操作调试的方法
2012/07/12 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
2018/08/21 PHP
phpStorm+XDebug+chrome 配置详解
2019/04/01 PHP
jQuery 关于伪类选择符的使用说明
2013/04/24 Javascript
JavaScript中的数值范围介绍
2014/12/29 Javascript
Jquery 实现checkbox全选方法
2015/01/28 Javascript
浅谈js里面的InttoStr和StrtoInt
2016/06/14 Javascript
jquery组件WebUploader文件上传用法详解
2020/10/23 Javascript
微信小程序之圆形进度条实现思路
2018/02/22 Javascript
vux uploader 图片上传组件的安装使用方法
2018/05/15 Javascript
JavaScript+HTML5 canvas实现放大镜效果完整示例
2019/05/15 Javascript
如何基于JavaScript判断图片是否加载完成
2019/12/28 Javascript
[02:09]DOTA2辉夜杯 EHOME夺冠举杯现场
2015/12/28 DOTA
[05:00]TI9战队采访 - Royal Never Give Up
2019/08/20 DOTA
python访问类中docstring注释的实现方法
2015/05/04 Python
python读写二进制文件的方法
2015/05/09 Python
python编写暴力破解zip文档程序的实例讲解
2018/04/24 Python
selenium+python自动化测试之鼠标和键盘事件
2019/01/23 Python
python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法
2019/06/17 Python
python中bs4.BeautifulSoup的基本用法
2019/07/27 Python
python3应用windows api对后台程序窗口及桌面截图并保存的方法
2019/08/27 Python
python监控nginx端口和进程状态
2019/09/06 Python
HTML5 背景的显示区域实现
2020/07/09 HTML / CSS
德国健康生活方式网上商店:Landkaufhaus Mayer
2019/03/12 全球购物
如何通过 CSS 写出火焰效果
2021/03/24 HTML / CSS
就业推荐表自我鉴定
2013/10/29 职场文书
历史专业个人求职信分享
2013/12/20 职场文书
给水工程专业毕业生自荐信
2014/01/28 职场文书
七年级历史教学反思
2014/02/05 职场文书
2014年教研活动总结范文
2014/04/26 职场文书
《地震中的父与子》教学反思
2016/02/16 职场文书
Jupyter notebook 输出部分显示不全的解决方案
2021/04/24 Python
python tqdm用法及实例详解
2021/06/16 Python