详解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中使用不同编码读写txt文件详解
May 28 Python
在Django框架中运行Python应用全攻略
Jul 17 Python
JPype实现在python中调用JAVA的实例
Jul 19 Python
python 实现一个贴吧图片爬虫的示例
Oct 12 Python
Python reduce()函数的用法小结
Nov 15 Python
关于反爬虫的一些简单总结
Dec 13 Python
python 重定向获取真实url的方法
May 11 Python
python3.6.3转化为win-exe文件发布的方法
Oct 31 Python
Ubuntu18.04下python版本完美切换的解决方法
Jun 14 Python
浅谈Pycharm最有必要改的几个默认设置项
Feb 14 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
Jun 02 Python
python字典key不能是可以是啥类型
Aug 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中几个常用的魔术常量
2012/02/23 PHP
基于php-fpm 参数的深入理解
2013/06/03 PHP
详解php 使用Callable Closure强制指定回调类型
2017/10/26 PHP
PHP receiveMail实现收邮件功能
2018/04/25 PHP
php简单计算权重的方法示例【适合抽奖类应用】
2019/06/10 PHP
javascript 简单高效判断数据类型 系列函数 By shawl.qiu
2007/03/06 Javascript
用javascript实现自定义标签
2007/05/08 Javascript
jQuery实现HTML5 placeholder效果实例
2014/12/09 Javascript
js简单实现竖向tab选项卡的方法
2015/05/04 Javascript
pace.js页面加载进度条插件
2015/09/29 Javascript
不得不分享的JavaScript常用方法函数集(上)
2015/12/23 Javascript
详解Javacript和AngularJS中的Promises
2016/02/09 Javascript
jQuery中值得注意的trigger方法浅析
2016/12/12 Javascript
Vue响应式原理详解
2017/04/18 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
2019/02/28 Javascript
微信小程序wx.navigateTo中events属性实现页面间通信传值,数据同步
2019/07/13 Javascript
[44:40]2018DOTA2亚洲邀请赛3月30日 小组赛A组Liquid VS OG
2018/03/31 DOTA
linux系统使用python获取cpu信息脚本分享
2014/01/15 Python
python发送邮件实例分享
2017/07/28 Python
Python实现JSON反序列化类对象的示例
2018/01/31 Python
python的格式化输出(format,%)实例详解
2018/06/01 Python
python实现淘宝秒杀脚本
2020/06/23 Python
基于Python打造账号共享浏览器功能
2019/05/30 Python
Django分页功能的实现代码详解
2019/07/29 Python
详解pandas.DataFrame.plot() 画图函数
2020/06/14 Python
python 对一幅灰度图像进行直方图均衡化
2020/10/27 Python
实例教程 利用html5和css3打造一款创意404页面
2014/10/20 HTML / CSS
Strawberrynet草莓网新加坡站:护肤、彩妆、香水及美发产品
2018/08/31 全球购物
简述网络文件系统NFS,并说明其作用
2016/10/19 面试题
常见的软件开发流程有哪些
2015/11/14 面试题
电子银行营销方案
2014/02/22 职场文书
毕业生求职信范文
2014/06/29 职场文书
初中优秀教师事迹材料
2014/08/18 职场文书
2014年行政部工作总结
2014/11/19 职场文书
大四学生个人总结
2015/02/15 职场文书
如何撰写创业策划书
2019/06/27 职场文书