我有一個字符串列表(unicode)。像這樣:在字符串列表中使用strptime()。不能使用循環
>>> 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']
我想將這個字符串列表轉換爲一個datetime對象列表。像這樣:
>>> 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)]
我的解決方案非常粗糙,我正在尋找做這種轉換,而不必使用任何類型的循環。轉換速度至關重要。這是我的代碼到目前爲止:
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')
它做我想做的事情,但會慢。我想試試這個,但不起作用:
dtstamp = datetime.datetime.strptime(tstamp, '%Y-%m-%dT%H:%M:%S.%fZ')
任何人都可以指出我在正確的方向嗎?
提前致謝!
如何運行列表中的項目而不使用循環?即使是脆弱的「地圖」,也不得不在幕後操作。 –
列表多久?可能有一點將其轉換爲熊貓系列是值得的。 – roganjosh
你對列表解讀感覺如何? – Stael