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编程中的文件操作攻略
Oct 16 Python
linecache模块加载和缓存文件内容详解
Jan 11 Python
对pycharm代码整体左移和右移缩进快捷键的介绍
Jul 16 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
Apr 12 Python
Django结合ajax进行页面实时更新的例子
Aug 12 Python
python os.path.isfile()因参数问题判断错误的解决
Nov 29 Python
Django3.0 异步通信初体验(小结)
Dec 04 Python
布隆过滤器的概述及Python实现方法
Dec 08 Python
解决Tensorboard可视化错误:不显示数据 No scalar data was found
Feb 15 Python
Ubuntu中配置TensorFlow使用环境的方法
Apr 21 Python
python 使用建议与技巧分享(四)
Aug 18 Python
使用Python的开发框架Brownie部署以太坊智能合约
May 28 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
YII中assets的使用示例
2014/07/31 PHP
Yii2设置默认控制器的两种方法
2017/05/19 PHP
php基于Redis消息队列实现的消息推送的方法
2018/11/28 PHP
Laravel框架实现即点即改功能的方法分析
2019/10/31 PHP
情人节之礼 js项链效果
2012/02/13 Javascript
JavaScript高级程序设计(第3版)学习笔记4 js运算符和操作符
2012/10/11 Javascript
浏览器环境下JavaScript脚本加载与执行探析之动态脚本与Ajax脚本注入
2016/01/19 Javascript
JavaScript驾驭网页-CSS与DOM
2016/03/24 Javascript
jQuery DateTimePicker 日期和时间插件示例
2017/01/22 Javascript
Vue手把手教你撸一个 beforeEnter 钩子函数
2018/04/24 Javascript
利用Node.js如何实现文件循环覆写
2019/04/05 Javascript
JavaScript数组去重的几种方法
2019/04/07 Javascript
微信小程序tab切换可滑动切换导航栏跟随滚动实现代码
2019/09/04 Javascript
JS highcharts实现动态曲线代码示例
2020/10/16 Javascript
JavaScript中Object、map、weakmap的区别分析
2020/12/15 Javascript
python读写文件操作示例程序
2013/12/02 Python
Pyhthon中使用compileall模块编译源文件为pyc文件
2015/04/28 Python
Python类属性与实例属性用法分析
2015/05/09 Python
Ruby元编程基础学习笔记整理
2016/07/02 Python
python2.7实现爬虫网页数据
2018/05/25 Python
Python爬取成语接龙类网站
2018/10/19 Python
Pyqt5 实现跳转界面并关闭当前界面的方法
2019/06/19 Python
python基于socket进行端口转发实现后门隐藏的示例
2019/07/25 Python
解决Keras使用GPU资源耗尽的问题
2020/06/22 Python
Python函数递归调用实现原理实例解析
2020/08/11 Python
非洲NO.1网上商店:Jumia肯尼亚
2016/08/18 全球购物
意大利奢侈品综合电商网站:MODES
2019/12/14 全球购物
Chinti & Parker官网:奢华羊绒女装和创新针织设计
2021/01/01 全球购物
公司财务自我评价分享
2013/12/17 职场文书
怎样客观的做好自我评价
2013/12/28 职场文书
公司门卫管理制度
2014/02/01 职场文书
纪念九一八事变83周年国旗下讲话稿
2014/09/15 职场文书
2015年学校教育教学工作总结
2015/04/22 职场文书
团队执行力培训心得体会
2015/08/15 职场文书
pytorch实现手写数字图片识别
2021/05/20 Python
再谈python_tkinter弹出对话框创建
2022/03/20 Python