详解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装饰器 免去调用父类构造函数的麻烦
May 18 Python
Python中json格式数据的编码与解码方法详解
Jul 01 Python
Python3安装psycopy2以及遇到问题解决方法
Jul 03 Python
Python-接口开发入门解析
Aug 01 Python
Django 创建新App及其常用命令的实现方法
Aug 04 Python
Pytorch实现各种2d卷积示例
Dec 30 Python
Python实现结构体代码实例
Feb 10 Python
Python数据结构dict常用操作代码实例
Mar 12 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
Jul 14 Python
Jmeter HTTPS接口测试证书导入过程图解
Jul 22 Python
python 实现ping测试延迟的两种方法
Dec 10 Python
python Timer 类使用介绍
Dec 28 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 获取文件路径(灵活应用__FILE__)
2013/02/15 PHP
PHP rawurlencode与urlencode函数的深入分析
2013/06/08 PHP
PHP单态模式简单用法示例
2016/11/16 PHP
PHP开发的微信现金红包功能示例
2017/06/29 PHP
TP5框架页面跳转样式操作示例
2020/04/05 PHP
基于jQuery图片平滑连续滚动插件
2009/04/27 Javascript
js实现身份证号码验证的简单实例
2014/02/19 Javascript
jQuery中next()方法用法实例
2015/01/07 Javascript
JQuery中clone方法复制节点
2015/05/18 Javascript
基于jQuery+JSON的省市二三级联动效果
2015/06/05 Javascript
谈一谈jQuery核心架构设计
2016/03/28 Javascript
JavaScript几种数组去掉重复值的方法推荐
2016/04/12 Javascript
深入nodejs中流(stream)的理解
2017/03/27 NodeJs
详解vue-cli 构建Vue项目遇到的坑
2017/08/30 Javascript
浅谈vue项目重构技术要点和总结
2018/01/23 Javascript
微信小程序页面间传值与页面取值操作实例分析
2019/04/30 Javascript
vue+Element实现搜索关键字高亮功能
2019/05/28 Javascript
no-vnc和node.js实现web远程桌面的完整步骤
2019/08/11 Javascript
[03:01]完美盛典趣味短片 DOTA2年度最佳&拉胯英雄
2019/12/07 DOTA
基于python OpenCV实现动态人脸检测
2018/05/25 Python
python使用phoenixdb操作hbase的方法示例
2019/02/28 Python
Python爬取某平台短视频的方法
2021/02/08 Python
css实例教程 一款纯css3实现的超炫动画背画特效
2014/11/05 HTML / CSS
IE支持HTML5的解决方法
2009/10/20 HTML / CSS
美国校园市场:OCM
2017/06/08 全球购物
日本乐天官方海外转运服务:Rakuten Global Express
2018/11/30 全球购物
印度手工编织服装和家居用品商店:Fabindi
2019/10/07 全球购物
Myprotein荷兰官网:欧洲第一运动营养品牌
2020/07/11 全球购物
几个常见的消息中间件(MOM)
2014/01/08 面试题
学雷锋演讲稿
2014/03/04 职场文书
中学生学雷锋演讲稿
2014/04/26 职场文书
文明礼仪伴我行演讲稿
2014/05/12 职场文书
尊师重教演讲稿
2014/09/04 职场文书
死亡证明书样本说明
2014/10/18 职场文书
如何设置多台电脑共享打印机?多台电脑共享打印机的方法
2022/04/08 数码科技
云服务器部署 Web 项目的实现步骤
2022/06/28 Servers