前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python | 时间戳转换

Python | 时间戳转换

作者头像
PyStaData
发布2020-09-14 16:16:18
3.6K0
发布2020-09-14 16:16:18
举报
文章被收录于专栏:PyStaData

1. 提出问题

爬数据的时候,有没有遇见过爬下来的数据日期显示为一大串数字?像上图中的beginbidtime变量,这是时间戳。时间戳是啥?是指格林威治时间自 1970 年 1 月 1 日(00:00:00 GMT)(一般把这个时点称为 unix 纪元或 POSIX 时间)至当前时间的总秒数。时间戳的好处是能够唯一地表示某一刻的时间,但这显然不利于肉眼观察和分析数据,所以下面我们将时间戳转化为常见的时间格式。

2. 方法介绍

可以使用Pandas库中的to_datetime()函数实现,to_datetime()函数用于转换字符串、时间戳等各种形式的日期数据,转换Series时,返回具有相同索引的Series,日期时间列表则会被转换为DtetimeIndex。鉴于 Timestamp 对象内部存储方式,这种转换的默认单位是纳秒。不过,一般都会用指定其它时间单位 unit 来存储纪元数据。

代码语言:javascript
复制
pd.to_datetime([1349720105, 1349806505, 1349892905,1349979305, 1350065705], unit='s')

'''
DatetimeIndex(['2012-10-08 18:15:05', '2012-10-09 18:15:05',
               '2012-10-10 18:15:05', '2012-10-11 18:15:05',
               '2012-10-12 18:15:05'],
              dtype='datetime64[ns]', freq=None)
'''

pd.to_datetime([1349720105100, 1349720105200, 1349720105300,1349720105400, 1349720105500], unit='ms')
'''
DatetimeIndex(['2012-10-08 18:15:05.100000', '2012-10-08 18:15:05.200000',
               '2012-10-08 18:15:05.300000', '2012-10-08 18:15:05.400000',
               '2012-10-08 18:15:05.500000'],
              dtype='datetime64[ns]', freq=None)
'''

3. 实现过程

代码语言:javascript
复制
import pandas as pd

df = pd.read_excel('RRD_User_Info.xlsx',prase_date=True)
df.head()

df.beginbidtime = pd.to_datetime(df.beginbidtime,unit='ms')
df.closetime = pd.to_datetime(df.closetime,unit='ms')
df.to_excel('RRD_User_Transformed.xlsx')

4. 实现结果

经过上面的操作,就将时间戳转换转换为我们熟悉的时间格式了。结果如下:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PyStaData 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 提出问题
  • 2. 方法介绍
  • 3. 实现过程
  • 4. 实现结果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档