问题描述
我有一些csv文件。 在文件里面,有这样的时间戳
timestamp
2018-08-04D00:00:03.340429000
2018-08-04D00:00:03.911072000
2018-08-04D00:00:04.109119000
2018-08-04D00:00:05.348754000
2018-08-04D00:00:07.569001000
2018-08-04D00:00:08.666946000
2018-08-04D00:00:09.247728000
2018-08-04D00:00:09.247728000
2018-08-04D00:00:09.538240000
2018-08-04D00:00:09.715869000
由于yy-mm-dd'D ',我无法将其转换为代码。 我搜索谷歌,但我找不到有关参考格式..是否有人知道格式?
1楼
我认为这是ISO 8601的一个奇怪的变体。它可以用格式字符串解析:
datetime.strptime(d[:-3], "%Y-%m-%dD%H:%M:%S.%f")
2楼
datetime
模块的datetime
在于,只要您知道要查找的内容,就可以使用它来解析几乎任何内容:
import datetime
datetime.datetime.strptime("2018-08-04D00:00:03.340429000",
"%Y-%m-%dD%H:%M:%S.%f000")
#datetime.datetime(2018, 8, 4, 0, 0, 3, 340429)
请注意, '%f'
解析微秒并要求小数点后只有六位小数。
我的格式字符串中剩下的三个零告诉strptime
字符串的最后三位数(纳秒)总是为零。