I have a list of strings (unicode). Like so:
>>> tstamp
[u'2017-08-08T08:51:20.465Z', u'2017-08-08T08:51:27.871Z', u'2017-08-08T08:51:33.399Z', u'2017-08-08T08:51:37.530Z', u'2017-08-08T08:51:47.248Z', u'2017-08-08T08:51:50.414Z', u'2017-08-08T08:51:54.707Z', u'2017-08-08T08:51:54.781Z']
I want to convert this list of strings to a list of datetime objects. Like so:
>>> dtstamp
[datetime.datetime(2017, 8, 8, 8, 51, 20, 465000), datetime.datetime(2017, 8, 8, 8, 51, 27, 871000), datetime.datetime(2017, 8, 8, 8, 51, 33, 399000), datetime.datetime(2017, 8, 8, 8, 51, 37, 530000), datetime.datetime(2017, 8, 8, 8, 51, 47, 248000), datetime.datetime(2017, 8, 8, 8, 51, 50, 414000), datetime.datetime(2017, 8, 8, 8, 51, 54, 707000), datetime.datetime(2017, 8, 8, 8, 51, 54, 781000)]
The solution I have is very crude, I am looking to do this conversion without having to use any kind of loop. The speed of conversion is crucial. Here is my code so far:
dtstamp = [0]*len(tstamp)
for i in range(0,len(tstamp)):
dtstamp[i] = datetime.datetime.strptime(tstamp[i], '%Y-%m-%dT%H:%M:%S.%fZ')
It does what I want to do but will be slow. I thought about trying this, but doesn't work:
dtstamp = datetime.datetime.strptime(tstamp, '%Y-%m-%dT%H:%M:%S.%fZ')
Anyone can point me in the right direction?
Thanks in advance!