详解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解析发往本机的数据包示例 (解析数据包)
Jan 16 Python
Python实现的飞速中文网小说下载脚本
Apr 23 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
Sep 08 Python
Python2/3中urllib库的一些常见用法
Dec 19 Python
Python操作mongodb的9个步骤
Jun 04 Python
解决pycharm py文件运行后停止按钮变成了灰色的问题
Nov 29 Python
Python表达式的优先级详解
Feb 18 Python
Tensorflow中的dropout的使用方法
Mar 13 Python
用python打开摄像头并把图像传回qq邮箱(Pyinstaller打包)
May 17 Python
python3.8.1+selenium实现登录滑块验证功能
May 22 Python
python 读取yaml文件的两种方法(在unittest中使用)
Dec 01 Python
python 实现socket服务端并发的四种方式
Dec 14 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 代码规范小结
2012/03/08 PHP
CentOS6.5 编译安装lnmp环境
2014/12/21 PHP
PHP编译安装时常见错误解决办法
2015/05/28 PHP
golang 调用 php7详解及实例
2017/01/04 PHP
docker-compose部署php项目实例详解
2019/07/30 PHP
thinkphp诸多限制条件下如何getshell详解
2020/12/09 PHP
基于jQuery的公告无限循环滚动实现代码
2012/05/11 Javascript
ExtJS下书写动态生成的xml(兼容火狐)
2013/04/02 Javascript
js设置cookie过期当前时间减去一秒相当于立即过期
2014/09/04 Javascript
js实现键盘Enter键提交表单的方法
2015/05/27 Javascript
JS实现滑动门效果的方法详解
2016/12/19 Javascript
jQuery实现文章图片弹出放大效果
2017/04/06 jQuery
js编写选项卡效果
2017/05/23 Javascript
微信JSAPI Ticket接口签名详解
2020/06/28 Javascript
View.post() 不靠谱的地方你知道多少
2017/08/29 Javascript
10 种最常见的 Javascript 错误(频率最高)
2018/02/08 Javascript
jQuery实现的点击按钮改变样式功能示例
2018/07/21 jQuery
详解vue路由篇(动态路由、路由嵌套)
2019/01/27 Javascript
angular中如何绑定iframe中src的方法
2019/02/01 Javascript
浅谈Vue项目骨架屏注入实践
2019/08/05 Javascript
vue-admin-template配置快捷导航的代码(标签导航栏)
2020/09/04 Javascript
[03:35]2018年度DOTA2最佳辅助位选手5号位-完美盛典
2018/12/17 DOTA
Python 字符串定义
2009/09/25 Python
python中pygame模块用法实例
2014/10/09 Python
收集的几个Python小技巧分享
2014/11/22 Python
Python 一句话生成字母表的方法
2019/01/02 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
2019/03/14 Python
Django框架中序列化和反序列化的例子
2019/08/06 Python
浅析python中的del用法
2020/09/02 Python
css3 伪类选择器快速复习小结
2019/09/10 HTML / CSS
Canvas 帧动画吃苹果小游戏
2020/08/05 HTML / CSS
Burt’s Bees英国官网:世界领先的天然个人护理品牌
2020/08/17 全球购物
Kingsoft金山公司C/C++笔试题
2016/05/10 面试题
12.4法制宣传日活动总结
2014/08/26 职场文书
庆国庆国旗下讲话稿2014
2014/09/21 职场文书
彻底解决MySQL使用中文乱码的方法
2022/01/22 MySQL