时间戳字符串(Unix 时间)到 datetime 或 pandas.Timestamp

Posted

技术标签:

【中文标题】时间戳字符串(Unix 时间)到 datetime 或 pandas.Timestamp【英文标题】:timestamp string (Unix time) to datetime or pandas.Timestamp 【发布时间】:2016-07-10 17:04:30 【问题描述】:

我从某个来源检索一些 JSON 格式的数据。我想将此数据(及时测量)保存为文本文件。反复我想去同一个来源,看看是否有新的测量可用,如果有,我想将它添加到其他测量中。

我得到的数据是这样的:

"xyz":["unixtime":"1458255600","time":"00:00","day":"18\/03","value":"11","paramlabel":"30-500 mHz","popupcorr":"550","iconnr":"7","paramname":"30-500 mHz","unixtime":"1458256200","time":"00:10","day":"18\/03","value":"14","paramlabel":"30-500 mHz","popupcorr":"550","iconnr":"7","paramname":"30-500 mHz",etc.]

我将这些数据加载到 pandas DataFrame 中,以便能够更轻松地使用它。但是,当我将其加载到数据框中时,所有列都被视为字符串。如何确保将 unixtime 列视为时间戳(以便我可以转换为日期时间)?

【问题讨论】:

【参考方案1】:

在使用astypedtype 转换为int 后,使用to_datetime 并传递unit='s' 将值视为纪元时间:

df['unixtime'] = pd.to_datetime(df['unixtime'].astype(int), unit='s')

例子:

In [162]:
pd.to_datetime(1458255600, unit='s')

Out[162]:
Timestamp('2016-03-17 23:00:00')

【讨论】:

以上是关于时间戳字符串(Unix 时间)到 datetime 或 pandas.Timestamp的主要内容,如果未能解决你的问题,请参考以下文章

将dateTime格式转换为Unix时间戳或将Unix时间戳转换为dateTime格式

pandas使用to_datetime函数将unix时间戳转化为日期时间格式(Convert Unix times to DateTime)

将 datetime 转换为 Unix 时间戳并将其转换回 python

在 Python 中将 datetime 更改为 Unix 时间戳

当碰到unix纪元问题时strtotime怎么转时间戳(DateTime类的使用方法)

PHP PHP DateTime Unix时间戳