Python 从字符串列表中提取某些元素并使用Pandas转换为datetime

Python 从字符串列表中提取某些元素并使用Pandas转换为datetime,python,datetime,pandas,Python,Datetime,Pandas,我有一个列表,例如称为XX在特定目录中具有多个文件名。例如: X = ['director_send_20140212', 'send_help20150315', 'hello_jeep_20160322'....etc] 现在,我想从这些列表中提取日期,并将其转换为日期的日期时间索引,以便使用它按日期索引数据帧。所以从上面的例子中,我只想要三个日期…但实际上,它是一个更大的文件名集合 为了简化操作,所有日期都以20开始(即2000年及以后),并且在文件名的任何其他位置都不会出现20。此外,

我有一个列表,例如称为
X
X
在特定目录中具有多个文件名。例如:

X = ['director_send_20140212', 'send_help20150315', 'hello_jeep_20160322'....etc]
现在,我想从这些列表中提取日期,并将其转换为日期的日期时间索引,以便使用它按日期索引数据帧。所以从上面的例子中,我只想要三个日期…但实际上,它是一个更大的文件名集合

为了简化操作,所有日期都以20开始(即2000年及以后),并且在文件名的任何其他位置都不会出现20。此外,格式为
yyyymmdd/


所以我想使用pandas提供的datetimes索引创建一系列日期

我对文件名的命名约定做了一些假设。主要是日期是下划线后数据的最后一部分,最后一部分不包含不是日期的数字数据

尽管如此,下面是一个示例列表:

>>> from datetime import datetime
>>> [datetime.strptime(''.join(c for c in file_name.split('_')[-1] if c.isdigit()), "%Y%m%d") for file_name in X]
[datetime.datetime(2014, 2, 12, 0, 0), datetime.datetime(2015, 3, 15, 0, 0), datetime.datetime(2016, 3, 22, 0, 0)]