我有一个有趣的场景,日期对象如下所示:
'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'
非常感谢有关如何解决此问题的任何建议!
答案 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]