详解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用Bottle轻量级框架进行Web开发
Jun 08 Python
Python常见加密模块用法分析【MD5,sha,crypt模块】
May 24 Python
Python编程实现粒子群算法(PSO)详解
Nov 13 Python
python 对象和json互相转换方法
Mar 22 Python
Python实现矩阵相乘的三种方法小结
Jul 26 Python
python3.5绘制随机漫步图
Aug 27 Python
Python 实现异步调用函数的示例讲解
Oct 14 Python
详解Python读取yaml文件多层菜单
Mar 23 Python
PyCharm2018 安装及破解方法实现步骤
Sep 09 Python
python  logging日志打印过程解析
Oct 22 Python
Python调用.net动态库实现过程解析
Jun 05 Python
python三引号如何输入
Jul 06 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/01/03 PHP
php中的字符编码转换函数用法示例
2014/10/20 PHP
PHP的Yii框架使用中的一些错误解决方法与建议
2015/08/21 PHP
PHP从尾到头打印链表实例讲解
2018/09/27 PHP
网页源代码保护(禁止右键、复制、另存为、查看源文件)
2012/05/23 Javascript
深入理解javascript中return的作用
2013/12/30 Javascript
javascript设计模式--策略模式之输入验证
2015/11/27 Javascript
详解JavaScript中的构造器Constructor模式
2016/01/14 Javascript
微信小程序获取用户openId的实现方法
2017/05/23 Javascript
vue+vuex+axios+echarts画一个动态更新的中国地图的方法
2017/12/19 Javascript
webpack4打包vue前端多页面项目
2018/09/17 Javascript
JS 验证码功能的三种实现方式
2018/11/26 Javascript
[31:55]完美世界DOTA2联赛循环赛 IO vs GXR BO2第一场 11.04
2020/11/05 DOTA
python简单实现刷新智联简历
2016/03/30 Python
利用Python实现颜色色值转换的小工具
2016/10/27 Python
python使用mysql的两种使用方式
2018/03/07 Python
Django中信号signals的简单使用方法
2019/07/04 Python
python实现大文件分割与合并
2019/07/22 Python
Python3 批量扫描端口的例子
2019/07/25 Python
python基于json文件实现的gearman任务自动重启代码实例
2019/08/13 Python
Pycharm快捷键配置详细整理
2020/10/13 Python
Python jieba结巴分词原理及用法解析
2020/11/05 Python
CSS3 Flexbox中flex-shrink属性的用法示例介绍
2013/12/30 HTML / CSS
TALLY WEiJL法国网上商店:服装、时装及配饰
2019/08/31 全球购物
.NET里面什么时候需要调用垃圾回收
2015/06/01 面试题
护理学毕业生求职信
2013/11/14 职场文书
学校消防安全制度
2014/01/30 职场文书
致垒球运动员加油稿
2014/02/16 职场文书
《维生素c的故事》教学反思
2014/02/18 职场文书
酒店端午节活动方案
2014/08/26 职场文书
2014年新教师工作总结
2014/11/08 职场文书
小学班主任事迹材料
2014/12/17 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
如何利用JavaScript实现二叉搜索树
2021/04/02 Javascript
python 如何将两个实数矩阵合并为一个复数矩阵
2021/05/19 Python
Redis RDB技术底层原理详解
2021/09/04 Redis