python关于浮点数和字符串日期转换问题

python关于浮点数和字符串日期转换问题

首先声明一下,我还是一个小菜鸟,只是把我在使用python过程发现的问题及处理方法分享给大家,希望能起到一点帮助,大神请无视,错误之处希望大家能不吝赐教。
切入正题,这几天在python使用用需要对excel表格中的时间与数据库中的时间进行比较,在比较过程中发现excel表格中时间的类型为浮点型,数据库的时间为字符串(前期不清楚区别,都定义为字符串),实际比较过程中出现字符串不能转化的问题,最终的处理思路如下:
1.将excel中浮点型时间格式转化为datatime格式时间元组;
2.将时间元组转换为时间戳;
3.将数据库中字符串转化为datatime格式;
4.将datatime格式转化为为元组(struct_time);
5.将元组修改为时间戳;
6.这样两个时间戳就可以进行比较了;
7.比较后的时间保存在新的excel中,需要将时间戳修改为时间元组;
8.将时间元组修改为指定日期格式。搞定
具体的代码如下:
excel时间类似:2016-7-9,只有日期,没有时间,下面是excel日期转化为时间戳的代码:

from xlrd import xldate_as_tuple#将excel日期转化为datetime格式需要用的库
#allow_time1 为读取的excel时间
tup1=(00,00,00)#定义一个3位的元组,由于excel里面的时间转化完后只有日期和时间,只有6位,还需要补充3位。
allow_time1 = xldate_as_tuple(allow_time1, 0)#将excel日期转化为datetime格式
allow_time1= allow_time1+tup1#元组time.mktime必须是 9位,将元组补充3位
allow_time1 = time.mktime(allow_time1)#元组(struct_time)转换为时间戳:

数据库中字符串时间转化
数据库中的时间格式:2016-7-9 10:23:05,转化为时间戳的代码如下:

format_pattern = "%Y-%m-%d %H:%M:%S"
allow_time = datetime.strptime(allow_time,format_pattern)#将字符串时间转换位datetime格式
allow_time = allow_time.timetuple()#将datetime实例转转为元组(struct_time):
allow_time = time.mktime(allow_time)#将元组转化位时间戳:

这样两个日期可以进行比较了,但是比较完后还需要再写入excel,时间戳的格式显然无法使用,继续转化

allow_time2=time.localtime(allow_time2)#时间戳修改为元组
allow_time2=time.strftime('%Y-%m-%d',allow_time2)#时间元组修改为执定格式

这样就可以正常显示日期了。
再次感谢论坛各位大佬提供的帮助。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值