详解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读取注册表中值的方法
Apr 08 Python
Python脚本实现代码行数统计代码分享
Mar 10 Python
Python StringIO模块实现在内存缓冲区中读写数据
Apr 08 Python
浅谈python类属性的访问、设置和删除方法
Jul 25 Python
python 实现查找文件并输出满足某一条件的数据项方法
Jun 12 Python
利用Python进行图像的加法,图像混合(附代码)
Jul 14 Python
关于python中密码加盐的学习体会小结
Jul 15 Python
Python检查图片是否损坏及图片类型是否正确过程详解
Sep 30 Python
python实现简易淘宝购物
Nov 22 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
Dec 25 Python
解决pycharm安装第三方库失败的问题
May 09 Python
Python趣味实战之手把手教你实现举牌小人生成器
Jun 07 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关于array_multisort多维数组排序的使用说明
2011/01/04 PHP
PHP stream_context_create()函数的使用示例
2015/05/12 PHP
PHP使用内置函数file_put_contents写入文件及追加内容的方法
2015/12/07 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
2016/07/20 PHP
php把字符串指定字符分割成数组的方法
2018/03/12 PHP
PHP命名空间与自动加载类详解
2018/09/04 PHP
随窗体滑动的小插件sticky源码
2013/06/21 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
由点击页面其它地方隐藏div所想到的jQuery的delegate
2013/08/29 Javascript
js 绑定键盘鼠标事件示例代码
2014/02/12 Javascript
jQuery表单验证功能实例
2015/08/28 Javascript
jQuery图片轮播滚动切换代码分享
2020/04/20 Javascript
JavaScript实现的简单烟花特效代码
2015/10/20 Javascript
javascript 封装Date日期类实例详解
2017/05/28 Javascript
详解Nodejs之静态资源处理
2017/06/05 NodeJs
基于Vue实例对象的数据选项
2017/08/09 Javascript
[js高手之路]从原型链开始图解继承到组合继承的产生详解
2017/08/28 Javascript
jquery select插件异步实时搜索实例代码
2017/10/20 jQuery
详解react、redux、react-redux之间的关系
2018/04/11 Javascript
vue项目开发中setTimeout等定时器的管理问题
2018/09/13 Javascript
sortable+element 实现表格行拖拽的方法示例
2019/06/07 Javascript
python处理PHP数组文本文件实例
2014/09/18 Python
简洁的十分钟Python入门教程
2015/04/03 Python
python安装与使用redis的方法
2016/04/19 Python
Python3多线程爬虫实例讲解代码
2018/01/05 Python
python3模块smtplib实现发送邮件功能
2018/05/22 Python
用python标准库difflib比较两份文件的异同详解
2018/11/16 Python
Python实现一个带权无回置随机抽选函数的方法
2019/07/24 Python
python 基于dlib库的人脸检测的实现
2019/11/08 Python
Python局部变量与全局变量区别原理解析
2020/07/14 Python
基于Python的一个自动录入表格的小程序
2020/08/05 Python
如何用用Python将地址标记在地图上
2021/02/07 Python
Nike墨西哥官网:Nike MX
2020/08/30 全球购物
中专生毕业自我鉴定
2013/11/01 职场文书
群众路线党员个人整改措施
2014/10/27 职场文书
大学推普周活动总结
2015/05/07 职场文书