如何将非传统格式化的Pandas日期对象转换为datetime

时间:2018-06-11 15:38:47

标签: python pandas

我有一个有趣的场景,日期对象如下所示:

'6/7/2018 7:59:11 PM' 

格式为m / d / yyyy h:mm:ss PM(或AM)。请注意,月份和小时不填充零。我使用Pandas日期对象尝试了以下代码行:

data = pd.read_csv('file.txt', sep="\t", header=None, dtype = 'str')

data.columns = ['A', 'B', 'C', ...]

data.columns提供了文件的格式,所有制表符分隔(请注意,这不是实际的代码行,只是用于显示列标记方式的任意方式)。时间序列在A列中。我尝试使用以下方法进行转换:

time = pd.to_datetime(pd.Series(data['A']), format = '%-m/%-d/%Y %-H/%M/%S %p')

回报是:

ValueError: '-' is a bad directive in format '%-m/%-d/%Y %-H/%M/%S %p'

非常感谢有关如何解决此问题的任何建议!

1 个答案:

答案 0 :(得分:0)

您的日期时间字符串为'%m/%d/%Y %H:%M:%S %p'

<强>实施例

import pandas as pd
data = pd.DataFrame({"A": ['6/7/2018 7:59:11 PM' ]})
time = pd.to_datetime(pd.Series(data['A']), format = '%m/%d/%Y %H:%M:%S %p')
print( time )

<强>输出:

0   2018-06-07 07:59:11
Name: A, dtype: datetime64[ns]