你能否在不知道格式的情况下使用datetime.strptime?

Rya*_*axe 1 python datetime pandas

我正在编写一个带有3个pandas系列的函数,其中一个是日期,我需要能够将它变成一个数据帧,我可以通过它们重新采样.问题是,当我简单地执行以下操作时:

>>> data.index = data.time
>>> df = data.resample('M')
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/core/generic.py", line 234, in resample
    return sampler.resample(self)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pandas/tseries/resample.py", line 100, in resample
    raise TypeError('Only valid with DatetimeIndex or PeriodIndex')
TypeError: Only valid with DatetimeIndex or PeriodIndex
Run Code Online (Sandbox Code Playgroud)

我知道这是因为即使索引类型是一个日期时间对象,在进行重新采样时,除非它在表单中datetime(x,x,x,x,x,x),否则它将无法正确读取.

所以当我使用它时,我的日期数据如下所示:2011-12-16 08:09:07所以我一直在做以下事情:

dates = data.time
date_objects = [datetime.strptime(dates[x], '%Y-%m-%d %H:%M:%S') for x in range(len(dates))]
data.index = date_objects 
df = data.resample('M')
Run Code Online (Sandbox Code Playgroud)

我的问题是我使用它作为开源,我不知道输入日期的格式.

所以我的问题是:如何在不知道字符串格式的方式的情况下,将具有日期和时间的字符串转换为日期时间对象?

kar*_*ikr 6

您可以将dateutil库用于此目的

from dateutil import parser
yourdate = parser.parse(dates[x])
Run Code Online (Sandbox Code Playgroud)