详解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列表计数及插入实例
Dec 17 Python
python列表操作实例
Jan 14 Python
Python程序退出方式小结
Dec 09 Python
详解python函数传参是传值还是传引用
Jan 16 Python
python多行字符串拼接使用小括号的方法
Mar 19 Python
python判断列表的连续数字范围并分块的方法
Nov 16 Python
如何用Python制作微信好友个性签名词云图
Jun 28 Python
python用类实现文章敏感词的过滤方法示例
Oct 27 Python
flask 实现上传图片并缩放作为头像的例子
Jan 09 Python
PyCharm 在Windows的有用快捷键详解
Apr 07 Python
Python 如何对文件目录操作
Jul 10 Python
Django框架之路由用法
Jun 10 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
ThinkPHP使用UTFWry地址库进行IP定位实例
2014/04/01 PHP
php常用的工具开发整理
2019/09/26 PHP
解决extjs在firefox中关闭窗口再打开后iframe中js函数访问不到的问题
2008/11/06 Javascript
Whatever:hover 无需javascript让IE支持丰富伪类
2010/06/29 Javascript
JavaScript怎么判断图片是否加载完成以便获取其尺寸
2014/05/08 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
2014/08/10 Javascript
javascript小数精度丢失的完美解决方法
2016/05/31 Javascript
jQuery实现每隔几条元素增加1条线的方法
2016/06/27 Javascript
javascript工厂模式和构造函数模式创建对象方法解析
2016/12/30 Javascript
深入理解react-router@4.0 使用和源码解析
2017/05/23 Javascript
基于JavaScript实现微信抢红包功能
2017/07/20 Javascript
vue+mockjs模拟数据实现前后端分离开发的实例代码
2017/08/08 Javascript
JavaScript实现的浏览器下载文件的方法
2017/08/09 Javascript
vue-resouce设置请求头的三种方法
2017/09/12 Javascript
Three.js如何用轨迹球插件(trackball)增加对模型的交互功能详解
2017/09/25 Javascript
JS中判断某个字符串是否包含另一个字符串的五种方法
2018/05/03 Javascript
浅析vue给不同环境配置不同打包命令
2018/08/17 Javascript
vue-cli随机生成port源码的方法
2019/09/02 Javascript
细说webpack6 Babel的使用详解
2019/09/26 Javascript
JS检测浏览器开发者工具是否打开的方法详解
2020/10/02 Javascript
[01:09:50]VP vs Pain 2018国际邀请赛小组赛BO2 第二场
2018/08/20 DOTA
Python中的字符串类型基本知识学习教程
2016/02/04 Python
python3.6利用pyinstall打包py为exe的操作实例
2018/10/31 Python
Python字符串处理的8招秘籍(小结)
2019/08/13 Python
Python字符串格式化输出代码实例
2019/11/22 Python
OpenCV里的imshow()和Matplotlib.pyplot的imshow()的实现
2019/11/25 Python
Python如何基于rsa模块实现非对称加密与解密
2020/01/03 Python
如何查看Django ORM执行的SQL语句的实现
2020/04/20 Python
Django自关联实现多级联动查询实例
2020/05/19 Python
python3爬虫GIL修改多线程实例讲解
2020/11/24 Python
HTML5 中新的全局属性(整理)
2013/07/31 HTML / CSS
福克斯租车:Fox Rent A Car
2017/04/13 全球购物
市政管理求职信范文
2014/05/07 职场文书
2014年民政局关于保密工作整改措施
2014/09/19 职场文书
浅析Redis Sentinel 与 Redis Cluster
2021/06/24 Redis
MySQL优化及索引解析
2022/03/17 MySQL