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

时间:2015-05-27 16:13:23

标签: 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:必须是字符串,而不是列表

我发现这样的代码工作正常:

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

我该如何处理上述问题?

2 个答案:

答案 0 :(得分:11)

dates是一个字符串列表。因此,如果您想从其元素中创建日期列表:

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

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

答案 1 :(得分:1)

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

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

希望我能帮上忙!