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命令行参数sys.argv使用示例
Jan 28 Python
python抓取网页中的图片示例
Feb 28 Python
python从入门到精通(DAY 1)
Dec 20 Python
Python实现两款计算器功能示例
Dec 19 Python
使用Python进行QQ批量登录的实例代码
Jun 11 Python
python3下载抖音视频的完整代码
Jun 05 Python
Python中模块(Module)和包(Package)的区别详解
Aug 07 Python
解决Pytorch训练过程中loss不下降的问题
Jan 02 Python
详解python tcp编程
Aug 24 Python
基于Python模拟浏览器发送http请求
Nov 06 Python
Python绘制数码晶体管日期
Feb 19 Python
OpenCV中resize函数插值算法的实现过程(五种)
Jun 05 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
超外差式晶体管收音机的组装与统调
2021/03/01 无线电
php管理nginx虚拟主机shell脚本实例
2014/11/19 PHP
php实现的pdo公共类定义与用法示例
2017/07/19 PHP
Windows平台PHP+IECapt实现网页批量截图并创建缩略图功能详解
2019/08/02 PHP
jQuery的链式调用浅析
2010/12/03 Javascript
JS清除选择内容的方法
2015/01/29 Javascript
js实现鼠标悬浮给图片加边框的方法
2015/01/30 Javascript
javascript中eval解析JSON字符串
2016/02/27 Javascript
BootStrap智能表单实战系列(四)表单布局介绍
2016/06/13 Javascript
jQuery下拉框的简单应用
2016/06/24 Javascript
webpack 2的react开发配置实例代码
2017/07/28 Javascript
Js中将Long转换成日期格式的实现方法
2018/06/05 Javascript
Vue2.x Todo之自定义指令实现自动聚焦的方法
2019/01/08 Javascript
全面解析js中的原型,原型对象,原型链
2021/01/25 Javascript
[01:50]WODOTA制作 DOTA2中文宣传片《HERO》
2013/04/28 DOTA
举例详解Python中的split()函数的使用方法
2015/04/07 Python
用Python进行行为驱动开发的入门教程
2015/04/23 Python
python如何在循环引用中管理内存
2018/03/20 Python
python判断自身是否正在运行的方法
2019/08/08 Python
Python连接字符串过程详解
2020/01/06 Python
Python的pygame安装教程详解
2020/02/10 Python
在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程
2020/04/22 Python
pytorch 查看cuda 版本方式
2020/06/23 Python
html5新特性与用法大全
2018/09/13 HTML / CSS
HTML5 声明兼容IE的写法
2011/05/16 HTML / CSS
iphoneX 适配客户端H5页面的方法教程
2017/12/08 HTML / CSS
汉语言文学毕业生求职信
2013/10/01 职场文书
培训主管的岗位职责
2013/11/23 职场文书
优秀信贷员先进事迹
2014/01/31 职场文书
中学教师培训制度
2014/01/31 职场文书
摄影专业毕业生求职信
2014/03/13 职场文书
班主任对学生的评语
2014/04/26 职场文书
nginx配置文件使用环境变量的操作方法
2021/06/02 Servers
Pandas数据类型之category的用法
2021/06/28 Python
如何利用Python实现n*n螺旋矩阵
2022/01/18 Python
Mysql 数据库中的 redo log 和 binlog 写入策略
2022/04/26 MySQL