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实现socket端口重定向示例
Feb 10 Python
在Python中利用Into包整洁地进行数据迁移的教程
Mar 30 Python
Pycharm代码无法复制,无法选中删除,无法编辑的解决方法
Oct 22 Python
对python 合并 累加两个dict的实例详解
Jan 21 Python
详解python3中用HTMLTestRunner.py报ImportError: No module named 'StringIO'如何解决
Aug 27 Python
Python TCP通信客户端服务端代码实例
Nov 21 Python
基于python中__add__函数的用法
Nov 25 Python
详解opencv中画圆circle函数和椭圆ellipse函数
Dec 27 Python
pytorch 模型的train模式与eval模式实例
Feb 20 Python
python单元测试框架pytest的使用示例
Oct 07 Python
python两种注释用法的示例
Oct 09 Python
Python jiaba库的使用详解
Nov 23 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
使用sockets:从新闻组中获取文章(三)
2006/10/09 PHP
PHP的面试题集
2006/11/19 PHP
PHP 地址栏信息的获取代码
2009/01/07 PHP
PHP中的函数嵌套层数限制分析
2011/06/13 PHP
php购物车实现代码
2011/10/10 PHP
php&mysql 日期操作小记
2012/02/27 PHP
php设计模式之委托模式
2016/02/13 PHP
PHP中抽象类和抽象方法概念与用法分析
2016/05/24 PHP
PHP convert_cyr_string()函数讲解
2019/02/13 PHP
JQuery 常用方法基础教程
2009/02/06 Javascript
浏览器解析js生成的html出现样式问题的解决方法
2012/04/16 Javascript
Jquery EasyUI的添加,修改,删除,查询等基本操作介绍
2013/10/11 Javascript
Js Jquery创建一个弹出层可加载一个页面
2014/05/08 Javascript
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
2015/10/01 Javascript
jquery实现的动态回到顶部特效代码
2015/10/28 Javascript
JavaScript必知必会(七)js对象继承
2016/06/08 Javascript
Javascript中的迭代、归并方法详解
2016/06/14 Javascript
Three.js的使用及绘制基础3D图形详解
2017/04/27 Javascript
jquery实现自定义树形表格的方法【自定义树形结构table】
2019/07/12 jQuery
Vue如何提升首屏加载速度实例解析
2020/06/25 Javascript
Python中的引用和拷贝浅析
2014/11/22 Python
Python变量和数据类型详解
2017/02/15 Python
python 把列表转化为字符串的方法
2018/10/23 Python
如何用C代码给Python写扩展库(Cython)
2019/05/17 Python
python tools实现视频的每一帧提取并保存
2020/03/20 Python
python如何实现视频转代码视频
2019/06/17 Python
关于pycharm中pip版本10.0无法使用的解决办法
2019/10/10 Python
入党积极分子思想汇报
2014/01/02 职场文书
传承焦裕禄精神思想汇报2014
2014/09/10 职场文书
中职毕业生自我鉴定
2014/09/13 职场文书
小学一年级学生评语大全
2014/12/25 职场文书
2015年老干部工作总结
2015/04/23 职场文书
2016简历自荐信优秀范文
2016/01/29 职场文书
2016年优秀少先队员事迹材料
2016/02/26 职场文书
经典人生语录分享:不畏将来,不念过去,笑对当下
2019/12/12 职场文书
python执行js代码的方法
2021/05/13 Python