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中文件遍历的两种方法
Jun 16 Python
通过源码分析Python中的切片赋值
May 08 Python
Django开发的简易留言板案例详解
Dec 04 Python
利用Python正则表达式过滤敏感词的方法
Jan 21 Python
pandas中DataFrame修改index、columns名的方法示例
Aug 02 Python
python选取特定列 pandas iloc,loc,icol的使用详解(列切片及行切片)
Aug 06 Python
python类的实例化问题解决
Aug 31 Python
python实现的Iou与Giou代码
Jan 18 Python
自学python用什么系统好
Jun 23 Python
关于Numpy之repeat、tile的用法总结
Jun 02 Python
python中24小时制转换为12小时制的方法
Jun 18 Python
Python数据结构之队列详解
Mar 21 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新特性之字节码缓存和内置服务器
2017/08/11 PHP
PHP实现的DES加密解密类定义与用法示例
2020/11/02 PHP
php+ajax实现商品对比功能示例
2019/04/13 PHP
P3P Header解决Cookie跨域的问题
2013/03/12 Javascript
JS阻止用户多次提交示例代码
2014/03/26 Javascript
详解JavaScript中Date.UTC()方法的使用
2015/06/12 Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
2015/07/17 Javascript
AngularJs学习第五篇从Controller控制器谈谈$scope作用域
2016/06/08 Javascript
基于jQuery实现表格的排序
2016/12/02 Javascript
touch.js 拖动、缩放、旋转 (鼠标手势)功能代码
2017/02/04 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
2017/02/07 Javascript
简单谈谈gulp-changed插件
2017/02/21 Javascript
原生JS控制多个滚动条同步跟随滚动效果
2017/12/22 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
2019/04/10 Javascript
vue遍历对象中的数组取值示例
2019/11/07 Javascript
查找Vue中下标的操作(some和findindex)
2020/08/12 Javascript
[50:28]LGD女子学院第三期 DOTA2复仇之魂教学
2013/12/24 DOTA
Python基础之函数用法实例详解
2014/09/10 Python
Python守护进程和脚本单例运行详解
2017/01/06 Python
Python实现完整的事务操作示例
2017/06/20 Python
Python实现按特定格式对文件进行读写的方法示例
2017/11/30 Python
python 重定向获取真实url的方法
2018/05/11 Python
Django框架多表查询实例分析
2018/07/04 Python
Python 常用模块 re 使用方法详解
2019/06/06 Python
linux中如何使用python3获取ip地址
2019/07/15 Python
Django 导出项目依赖库到 requirements.txt过程解析
2019/08/23 Python
Django+Uwsgi+Nginx如何实现生产环境部署
2020/07/31 Python
Python如何读写CSV文件
2020/08/13 Python
鲜为人知的HTML5语音合成功能
2019/05/17 HTML / CSS
丝芙兰加拿大官方网站:SEPHORA加拿大
2018/11/20 全球购物
德国最新街头服饰网上商店:BODYCHECK
2019/09/15 全球购物
授权委托书范文
2014/07/31 职场文书
走群众路线学习笔记
2014/11/06 职场文书
2014年劳动部工作总结
2014/12/11 职场文书
学习与创新自我评价
2015/03/09 职场文书
90行Python代码开发个人云盘应用
2021/04/20 Python