详解python中xlrd包的安装与处理Excel表格


Posted in Python onDecember 16, 2016

一、安装xlrd

地址

下载后,使用 pip install .whl 安装即好。

查看帮助:

>>> import xlrd
>>> help(xlrd)
Help on package xlrd:

NAME 
 xlrd

PACKAGE CONTENTS 
 biffh
 book
 compdoc
 formatting
 formula
 info
 licences
 sheet
 timemachine
 xldate
 xlsx

FUNCTIONS 
 count_records(filename, outfile=<idlelib.PyShell.PseudoOutputFile object at 0x0287E730>)

 dump(filename, outfile=<idlelib.PyShell.PseudoOutputFile object at 0x0287E730>, unnumbered=False)

 open_workbook(filename=None, logfile=<idlelib.PyShell.PseudoOutputFile object at 0x0287E730>, verbosity=0, use_mmap=1, file_contents=None, encoding_override=None, formatting_info=False, on_demand=False, ragged_rows=False)

DATA 
 FMLA_TYPE_ARRAY = 4
 FMLA_TYPE_CELL = 1
 FMLA_TYPE_COND_FMT = 8
 FMLA_TYPE_DATA_VAL = 16
 FMLA_TYPE_NAME = 32
 FMLA_TYPE_SHARED = 2
 MMAP_AVAILABLE = 1
 USE_MMAP = 1
 XL_CELL_BLANK = 6
 XL_CELL_BOOLEAN = 4
 XL_CELL_DATE = 3
 XL_CELL_EMPTY = 0
 XL_CELL_ERROR = 5
 XL_CELL_NUMBER = 2
 XL_CELL_TEXT = 1
 __VERSION__ = '1.0.0'
 biff_text_from_num = {0: '(not BIFF)', 20: '2.0', 21: '2.1', 30: '3', ...
 empty_cell = empty:''
 error_text_from_code = {0: '#NULL!', 7: '#DIV/0!', 15: '#VALUE!', 23: ...
 oBOOL = 3
 oERR = 4
 oNUM = 2
 oREF = -1
 oREL = -2
 oSTRG = 1
 oUNK = 0
 okind_dict = {-2: 'oREL', -1: 'oREF', 0: 'oUNK', 1: 'oSTRG', 2: 'oNUM'...

FILE 
 c:\python34\lib\site-packages\xlrd\__init__.py

通过上述方法可以查看xlrd的帮助信息,里面有xlrd包中的一些模块以及一些成员变量、常量、函数。

二、python处理Excel表格

1、打开Excel表

import xlrd

# 获取一个Book对象
book = xlrd.open_workbook("1.xls")

# 获取一个sheet对象的列表
sheets = book.sheets()

# 遍历每一个sheet,输出这个sheet的名字(如果是新建的一个xls表,可能是sheet1、sheet2、sheet3)
for sheet in sheets: 
 print(sheet.name)

上面的帮助信息出现了这个函数:open_workbook() ,打开工作簿,这就打开了Excel表。

返回的是一个Book对象,通过Book对象我们可以获得一个Sheet的列表,上面的程序就简单地把每个sheet的名字都输了出来。

2、读出指定单元格内的数据

import xlrd

# 获取一个Book对象
book = xlrd.open_workbook("1.xls")

# 获取一个sheet对象的列表
sheets = book.sheets()

# 遍历每一个sheet,输出这个sheet的名字(如果是新建的一个xls表,可能是sheet1、sheet2、sheet3)
for sheet in sheets: 
 print(sheet.cell_value(0, 0))

读出单元格内数据函数 cell_value(row, col) ,行列均从0起。

除此之外,可以通过:

sheet.cell(row, col) # 获取单元格对象 
sheet.cell_type(row, col) # 获取单元格类型

3、读取日期数据

如果Excel存储的某一个单元格数据是日期的话,需要进行一下处理,转换为datetime类型

from datetime import datetime 
from xlrd import xldate_as_tuple

# 获取一个Book对象
book = xlrd.open_workbook("1.xls")

# 获取一个sheet对象的列表
sheets = book.sheets()

timeVal = sheets[0].cell_value(0,0)

timestamp = datetime(*xldate_as_tuple(timestamp, 0))

print(timestamp)

4、遍历每行的数据

rows = sheet.get_rows() 
for row in rows: 
 print(row[0].value) # 输出此行第一列的数据

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用python能带来一定的帮助,如果有疑问大家可以留言交流。

Python 相关文章推荐
python文件和目录操作方法大全(含实例)
Mar 12 Python
python多进程操作实例
Nov 21 Python
python中__slots__用法实例
Jun 04 Python
numpy中的delete删除数组整行和整列的实例
May 09 Python
详解Python读取yaml文件多层菜单
Mar 23 Python
python实现批量处理将图片粘贴到另一张图片上并保存
Dec 12 Python
OpenCV python sklearn随机超参数搜索的实现
Jan 17 Python
python分别打包出32位和64位应用程序
Feb 18 Python
pytorch查看通道数 维数 尺寸大小方式
May 26 Python
使用OpenCV对车道进行实时检测的实现示例代码
Jun 19 Python
Python日志器使用方法及原理解析
Sep 27 Python
python归并排序算法过程实例讲解
Nov 04 Python
详解python开发环境搭建
Dec 16 #Python
python制作爬虫爬取京东商品评论教程
Dec 16 #Python
python用模块zlib压缩与解压字符串和文件的方法
Dec 16 #Python
Python用UUID库生成唯一ID的方法示例
Dec 15 #Python
python常见的格式化输出小结
Dec 15 #Python
python中子类继承父类的__init__方法实例
Dec 15 #Python
利用Python中SocketServer 实现客户端与服务器间非阻塞通信
Dec 15 #Python
You might like
基于php-fpm 参数的深入理解
2013/06/03 PHP
php异步多线程swoole用法实例
2014/11/14 PHP
php实现的递归提成方案实例
2015/11/14 PHP
Linux安装配置php环境的方法
2016/01/14 PHP
js禁止页面刷新禁止用F5键刷新禁止右键的示例代码
2013/09/23 Javascript
你可能不知道的JavaScript的new Function()方法
2014/04/17 Javascript
JavaScript将字符串转换为整数的方法
2015/04/14 Javascript
Bootstrap Table的使用总结
2016/10/08 Javascript
Node.js中路径处理模块path详解
2016/11/14 Javascript
Angular 4依赖注入学习教程之组件服务注入(二)
2017/06/04 Javascript
使用weixin-java-tools完成微信授权登录、微信支付的示例
2018/09/26 Javascript
react 中父组件与子组件双向绑定问题
2019/05/20 Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
2019/09/03 Javascript
Vue分页效果与购物车功能
2019/12/13 Javascript
[03:42]2014DOTA2西雅图国际邀请赛7月9日TOPPLAY
2014/07/09 DOTA
[45:56]Ti4正赛第一天 VG vs NEWBEE 3
2014/07/19 DOTA
[01:10]为家乡而战!完美世界城市挑战赛全国总决赛花絮
2019/07/25 DOTA
Python素数检测实例分析
2015/06/15 Python
详解Django通用视图中的函数包装
2015/07/21 Python
Python基于动态规划算法计算单词距离
2015/07/25 Python
详解Python做一个名片管理系统
2019/03/14 Python
Django用户认证系统 Web请求中的认证解析
2019/08/02 Python
Python集合基本概念与相关操作实例分析
2019/10/30 Python
python用quad、dblquad实现一维二维积分的实例详解
2019/11/20 Python
Python实现i人事自动打卡的示例代码
2020/01/09 Python
Python 多线程共享变量的实现示例
2020/04/17 Python
Python实现列表中非负数保留,负数转化为指定的数值方式
2020/06/04 Python
keras得到每层的系数方式
2020/06/15 Python
python用分数表示矩阵的方法实例
2021/01/11 Python
美国一家著名的儿童鞋制造商:Stride Rite
2017/01/02 全球购物
艺术教育实施方案
2014/05/03 职场文书
大学生违纪检讨书300字
2014/10/25 职场文书
基层党建工作简报
2015/07/21 职场文书
详解Java实现数据结构之并查集
2021/06/23 Java/Android
python获取对象信息的实例详解
2021/07/07 Python
MyBatis自定义SQL拦截器示例详解
2021/10/24 Java/Android