Python-将数组中的字符串转换为日期

Python-将数组中的字符串转换为日期,python,arrays,string,date,strptime,Python,Arrays,String,Date,Strptime,我从TXT文件中读取了一个字符串数组,并使用以下行将其保存为一个数组(超过千个值): dates = np.genfromtxt('filename.txt', delimiter=";", usecols=(0), dtype=None) 接下来,我想将字符串转换为日期。我试着用这句话: dates2 = dt.datetime.strptime([dates], '"%Y-%m-%d"').date() 但是,我得到了一个错误: TypeError:必须是字符串,而不是列表 我发现这样的

我从TXT文件中读取了一个字符串数组,并使用以下行将其保存为一个数组(超过千个值):

dates = np.genfromtxt('filename.txt', delimiter=";", usecols=(0), dtype=None)
接下来,我想将字符串转换为日期。我试着用这句话:

dates2 = dt.datetime.strptime([dates], '"%Y-%m-%d"').date()
但是,我得到了一个错误:

TypeError:必须是字符串,而不是列表

我发现这样的代码工作得很好:

data1='"2010-02-28"'
data1_1 = dt.datetime.strptime(data1, '"%Y-%m-%d"').date()

我应该如何处理所描述的问题?

未来读者注意:请不要编辑此答案<代码>“%Y-%m-%d”不是错误。OP的日期用引号括起来


日期
是字符串列表。因此,如果要从其元素创建日期列表:

dates_list = [dt.datetime.strptime(date, '"%Y-%m-%d"').date() for date in dates]

此行在
日期
列表中的字符串上迭代,并使用列表理解创建新的日期列表。

您可以使用拆分以获得更快的结果:

from datetime import datetime
today = datetime.now().strftime("%Y-%m-%d").split('-')

希望我能帮忙

我使用的是Python 3.7.3,我需要删除双引号,才能使其适用于我。@MichaelSzczepaniak,这是因为您的日期字符串没有像OP那样用双引号括起来。@DeepSpace OP代表什么?为了做到这一点,我不得不删除原海报上的双引号“@AnujGupta,即quesionasker@Confounded
datetime
模块,通常作为
import datetime as dt导入