那我就一下面积个问题对xlrd模块进行学习一下:

1.什么是xlrd模块?

2.为什么使用xlrd模块?

3.怎样使用xlrd模块?

1.什么是xlrd模块?
  ♦python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。

今天就先来说一下xlrd模块:

一、安装xlrd模块

♦ 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境。

♦或者在cmd窗口 pip install xlrd

二、使用介绍

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是否导入完毕
    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) #返回该列的有效单元格长度
   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)   #返回由该列中所有单元格的数据组成的列表
  4)单元格的操作
table.cell(rowx,colx)   #返回单元格对象table.cell_type(rowx,colx)    #返回单元格中的数据类型table.cell_value(rowx,colx)   #返回单元格中的数据table.cell_xf_index(rowx, colx)   # 暂时还没有搞懂

♦单元格:单元格是表格中行与列的交叉部分,它是组成表格的最小单位,可拆分或者合并。单个数据的输入和修改都是在单元格中进行的

如:

注意:注意作用域问题,之前获取的sheet之后,都在获取到这个sheet值后,在进行,行和列以及单元格的操作。

♦ python解决open()函数、xlrd.open_workbook()函数文件名包含中文,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 xlrd详解相关推荐

  1. Python|SQL详解之DDL|DML|DQL|DCL|索引|视图、函数和过程|JSON类型|窗口函数|接入MySQL|清屏|正则表达式|executemany|语言基础50课:学习(14)

    文章目录 系列目录 原项目地址 第41课:SQL详解之DDL 建库建表 删除表和修改表 第42课:SQL详解之DML insert操作 delete 操作 update 操作 完整的数据 第43课:S ...

  2. python区块链开发_Fabric区块链Python开发详解

    Hyperledger Fabric是最流行的联盟区块链平台.Fabric区块链Python开发详解课程 涵盖Fabric区块链的核心概念.Fabric网络搭建.Node链码开发.Python应用开发 ...

  3. python装饰器setter_第7.27节 Python案例详解: @property装饰器定义属性访问方法getter、setter、deleter...

    上节详细介绍了利用@property装饰器定义属性的语法,本节通过具体案例来进一步说明. 一.    案例说明 本节的案例是定义Rectangle(长方形)类,为了说明问题,除构造函数外,其他方法都只 ...

  4. 【python】详解类class的继承、__init__初始化、super方法

    原文链接; https://blog.csdn.net/brucewong0516/article/details/79121179?utm_medium=distribute.pc_relevant ...

  5. python与golang_Golang与python线程详解及简单实例

    Golang与python线程详解及简单实例 在GO中,开启15个线程,每个线程把全局变量遍历增加100000次,因此预测结果是 15*100000=1500000. var sum int var ...

  6. python 最小二乘法_最小二乘法及其python实现详解

    最小二乘法Least Square Method,做为分类回归算法的基础,有着悠久的历史(由马里·勒让德于1806年提出).它通过最小化误差的平方和寻找数据的最佳函数匹配.利用最小二乘法可以简便地求得 ...

  7. 【python】详解multiprocessing多进程-Pool进程池模块(二)

    [python]详解multiprocessing多进程-process模块(一) [python]详解multiprocessing多进程-Pool进程池模块(二) [python]详解multip ...

  8. 【python】什么是序列,Python序列详解

    什么是序列,Python序列详解 概述 序列索引 序列切片 序列相加 序列相乘 检查元素是否包含在序列中 序列相关的内置函数 range 快速初始化数字列表 概述 所谓序列,指的是一块可存放多个值的连 ...

  9. python多线程详解 Python 垃圾回收机制

    文章目录 python多线程详解 一.线程介绍 什么是线程 为什么要使用多线程 总结起来,使用多线程编程具有如下几个优点: 二.线程实现 自定义线程 守护线程 主线程等待子线程结束 多线程共享全局变量 ...

最新文章

  1. 使用openpyxl去操作Excel表格
  2. Template Code 无法使用 this.Host 报错
  3. 我爱学习第一天(委托)
  4. eclipse 插件扩展新建java页面_java-Eclipse插件:创建动态菜单和相应的处理...
  5. 解析对偶理论与对偶单纯性法
  6. nsx很可爱的公众号 vSAN 文章合集
  7. mysql 查看连接_怎么实时查看mysql当前连接数
  8. 使用Golang实现的快速排序
  9. Android学习JNI,使用C调用JAVA语言
  10. 获取mysql存储过程返回值_MySQL函数,存储过程,用户管理
  11. 人体模型 java代码_java3d人体模型.doc
  12. 【每天一个 Linux 命令】ssh 命令
  13. 如何用 React 完成图片上传功能
  14. 删除用户账户|win7系统怎么删除用户账户
  15. LiveZilla 详细 配置 设置 (二) 安装 LiveZilla
  16. 态度决定一切《跟任何人都聊得来》
  17. Lens shading
  18. sam卡和sim卡区别_科普拍了拍你~PSAM卡\SIM与SAM卡有什么不同?
  19. 英国内政部(Home Office)间谍机构(spy powers)假装它是Ofcom咨询中的一名私人公民1514378369635...
  20. 中文语音合成开源模型总结

热门文章

  1. Python爬取网易云音乐所有歌手的名称和链接
  2. Spring Security OAuth2 入门
  3. 计算机毕业设计SSM服装创意定制管理系统【附源码数据库】
  4. mlf机器人无限制格斗_2017年无限制机器人格斗职业联赛MLF广州站暨FMB世界杯热身赛圆满落幕...
  5. 光流(optical flow)基础概念以及典型算法
  6. 联想小新air14----鼠标移动出现残影问题解决
  7. 11-标准库fmt以及文件操作
  8. 我朋友搞得一本时尚摄影杂志,正!!
  9. 解决Mac M1芯片无法安装Another-Redis-Desktop-Manager可视化工具
  10. Android的一丢丢版本常识