Python xlrd读取excel日期类型的2种方法


Posted in Python onApril 28, 2015

有个excle表格需要做一些过滤然后写入数据库中,但是日期类型的cell取出来是个数字,于是查询了下解决的办法。

基本的代码结构

data = xlrd.open_workbook(EXCEL_PATH)  

table = data.sheet_by_index(0)  

lines = table.nrows  

cols = table.ncols  

print u'The total line is %s, cols is %s'%(lines, cols) 

读取某个单元格:
table.cell(x, y).value 

x:行
y:列   
行,列都是从0开始

*  时间类型的转换,把excel中时间转成python 时间(两种方式)
excel某个单元格   2014/7/8

xlrd.xldate_as_tuple(table.cell(2,2).value, 0)   #转化为元组形式  

(2014, 7, 8, 0, 0, 0)  

xlrd.xldate.xldate_as_datetime(table.cell(2,2).value, 1)   #直接转化为datetime对象  

datetime.datetime(2018, 7, 9, 0, 0)  

table.cell(2,2).value   #没有转化  

41828.0 

源码查看:

# @param xldate The Excel number  

# @param datemode 0: 1900-based, 1: 1904-based.  

xldate_as_tuple(xldate, datemode)  

输入一个日期类型的单元格会返回一个时间结构组成的元组,可以根据这个元组组成时间类型
datemode 有2个选项基本我们都会使用1900为基础的时间戳
##  

# Convert an Excel date/time number into a datetime.datetime object.  

#  

# @param xldate The Excel number  

# @param datemode 0: 1900-based, 1: 1904-based.  

#  

# @return a datetime.datetime() object.  

#  

def xldate_as_datetime(xldate, datemode)

输入参数和上面的相同,但是返回值是一个datetime类型,就不需要在自己转换了

当然这两个函数都有相应的逆函数,把python类型变成相应的excle时间类型。

Python 相关文章推荐
Python中的random()方法的使用介绍
May 15 Python
python实现爬虫下载美女图片
Jul 14 Python
解析Python中的__getitem__专有方法
Jun 27 Python
Python实现统计文本文件字数的方法
May 05 Python
PyCharm在win10的64位系统安装实例
Nov 26 Python
Centos下实现安装Python3.6和Python2共存
Aug 15 Python
Python 使用类写装饰器的小技巧
Sep 30 Python
Python3.5面向对象编程图文与实例详解
Apr 24 Python
为什么从Python 3.6开始字典有序并效率更高
Jul 15 Python
pytorch 实现将自己的图片数据处理成可以训练的图片类型
Jan 08 Python
python中复数的共轭复数知识点总结
Dec 06 Python
python3 通过 pybind11 使用Eigen加速代码的步骤详解
Dec 07 Python
Python发送email的3种方法
Apr 28 #Python
Python中使用partial改变方法默认参数实例
Apr 28 #Python
调试Python程序代码的几种方法总结
Apr 28 #Python
解析Python中的异常处理
Apr 28 #Python
python调用java模块SmartXLS和jpype修改excel文件的方法
Apr 28 #Python
Python EOL while scanning string literal问题解决方法
Sep 18 #Python
python中尾递归用法实例详解
Apr 28 #Python
You might like
php中判断文件存在是用file_exists还是is_file的整理
2012/09/12 PHP
CodeIgniter使用phpcms模板引擎
2013/11/12 PHP
自己写的兼容低于PHP 5.5版本的array_column()函数
2014/10/24 PHP
php命令行用法入门实例教程
2014/10/27 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
2016/10/10 PHP
php实现微信支付之退款功能
2018/05/30 PHP
xml 封装与解析(javascript和C#中)
2009/07/26 Javascript
JavaScript Title、alt提示(Tips)实现源码解读
2010/12/12 Javascript
jQuery 1.5最新版本的改进细节分析
2011/01/19 Javascript
js图片闪动特效可以控制间隔时间如几分钟闪动一下
2014/08/12 Javascript
jQuery选择器源码解读(五):tokenize的解析过程
2015/03/31 Javascript
JavaScript中数据结构与算法(二):队列
2015/06/19 Javascript
JavaScript检测上传文件大小的方法
2015/07/22 Javascript
JS实现超简单的仿QQ折叠菜单效果
2015/09/21 Javascript
微信小程序开发经验总结(推荐)
2017/01/11 Javascript
bootstrap Table插件使用demo
2017/08/07 Javascript
js es6系列教程 - 新的类语法实战选项卡(详解)
2017/09/02 Javascript
vue项目常用组件和框架结构介绍
2017/12/24 Javascript
vue使用自定义icon图标的方法
2018/05/14 Javascript
用react-redux实现react组件之间数据共享的方法
2018/06/08 Javascript
JavaScript实现学生在线做题计时器功能
2018/12/05 Javascript
angular 实现下拉列表组件的示例代码
2019/03/09 Javascript
vue $set 给数据赋值的实例
2019/11/09 Javascript
[04:52]第二届DOTA2亚洲邀请赛主赛事第一天比赛集锦:OG娜迦海妖放大配合谜团大中3人
2017/04/02 DOTA
python下函数参数的传递(参数带星号的说明)
2010/09/19 Python
python实现带声音的摩斯码翻译实现方法
2015/05/20 Python
Python实现把数字转换成中文
2015/06/29 Python
python查看微信好友是否删除自己
2016/12/19 Python
在Python文件中指定Python解释器的方法
2019/02/18 Python
附答案的Java面试题
2012/11/19 面试题
Why do we need Unit test
2013/01/03 面试题
2014年三八妇女节活动总结
2014/03/01 职场文书
个人投资计划书
2014/05/01 职场文书
自习课吵闹检讨书范文
2014/09/26 职场文书
教师个人师德工作总结2015
2015/05/12 职场文书
新郎父亲婚礼致辞
2015/07/27 职场文书