首页 > 解决方案 > 使用python将excel文件中的大量时间戳从一种格式转换为另一种格式

问题描述

我有一个名为“hello123.xlsx”的 excel 文件。有一列时间戳有很多行(目前超过 80,000 行)。excel文件基本上是这样的:

Tue Mar 13 14:51:04 +0000 2018

Tue Mar 13 14:51:10 +0000 2018

Tue Mar 13 14:51:11 +0000 2018

Tue Mar 13 14:51:12 +0000 2018

Tue Mar 13 14:51:13 +0000 2018

Tue Mar 13 14:51:13 +0000 2018

Tue Mar 13 14:51:15 +0000 2018

Tue Mar 13 14:51:35 +0000 2018

Tue Mar 13 14:51:43 +0000 2018

Tue Mar 13 14:52:12 +0000 2018

等等...

如上所示,我拥有的时间戳采用以下格式:

%a %b %d %H:%M:%S +0000 %Y。

但我需要将其转换为标准格式,如 %m/%d/%Y %H:%M:%S。

所以基本上我必须在 excel 文件中读取大量时间戳的列,然后将它们转换为新列中的新格式。

我对python很陌生,我在网上搜索了一些方法,但没有这样做。我希望有人可以帮助解决这个问题,我真的很感激。:)

标签: pythonexceltimestamp

解决方案


您可以使用该pandas库非常轻松地完成此操作,特别是pandas.Series.dt.strftime

您还需要安装xlrdopenpyxl

import pandas as pd

df = pd.read_excel('in.xlsx', header=None)

df[0] = pd.to_datetime(df[0]).dt.strftime("%m/%d/%Y %H:%M:%S")

df.to_excel('out.xlsx', index=False, header=False)

样品运行:

在.xlsx

Tue Mar 13 14:51:04 +0000 2018
Tue Mar 13 14:51:04 +0000 2018
Tue Mar 13 14:51:04 +0000 2018
Tue Mar 13 14:51:04 +0000 2018

出.xlsx

03/13/2018 14:51:04
03/13/2018 14:51:04
03/13/2018 14:51:04
03/13/2018 14:51:04

推荐阅读