python 将日期戳(五位数时间)转换为标准时间

yipeiwu_com7年前Python基础

5位数日期戳

读取 .mat 文件处理里面数据时,发现里面的日期数据全部都是 “5位数” 数字,很不解;

后来查到可以在excel中通过设置单元格调回标准日期格式,如下:

选中日期戳,右键选择 “格式化单元格(Format Cells)”

选择需要的日期格式,点击ok即可

通过代码转成标准日期

例如这个DataFrame中的日期,全部都是“日期戳”格式的,但我需要的是人能看懂的“标准日期”;

确认起始日期

首先需拿一个“日期戳”对应的时间(标准日期),减去这个日期戳,得出起始时间。

获取起始时间:

2018-05-02 对应的日期戳为:43222,接下来通过pandas 的Timedelta()和 to_datetime() 获取起始时间。

可以看到起始日期为“1899-12-30”

这样一来后续日期戳转标准日期,只需要在 “1899-12-30” 的基础上加 “日期戳”即可。

批量转换

首先定义一个函数用来进行转换:

#定义转化日期戳的函数,stamp为日期戳
def date(stamp): 
  delta = pd.Timedelta(str(stamp)+'D')
  real_time = pd.to_datetime('1899-12-30') + delta
  return real_time

然后针对DataFrame需要转换的列进行转换即可:

总结

以上所述是小编给大家介绍的python 将日期戳(五位数时间)转换为标准时间 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

使用Python发送各种形式的邮件的方法汇总

我们平时需要使用 Python 发送各类邮件,这个需求怎么来实现?答案其实很简单,smtplib 和 email 库可以帮忙实现这个需求。smtplib 和 email 的组合可以用来发...

python threading模块操作多线程介绍

python是支持多线程的,并且是native的线程。主要是通过thread和threading这两个模块来实现的。thread是比较底层的模块,threading是对thread做了一...

python 判断矩阵中每行非零个数的方法

如下所示: # -*- coding: utf-8 -*- # @Time : 2018/5/17 15:05 # @Author : Sizer # @Site : # @F...

python中web框架的自定义创建

一、什么是框架 框架的本质就是一个socket服务,可以完成不同主机之间的通信。它是一个半成品的项目,其中可能已经封装好了基本的功能,比如路由,模型,模板,视图功能都已完善,又可能它只封...

Python中模块pymysql查询结果后如何获取字段列表

前言 大家在使用pymysql的时候,通过fetchall()或fetchone()可以获得查询结果,但这个返回数据是不包含字段信息的(不如php方便)。查阅pymysql源代码后,其实...