我有一些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',我无法将其转换为代码。 我搜索了google,但找不到参考格式。 有没有人知道这种格式?
答案 0 :(得分:4)
我认为这是ISO 8601的一个怪异变体。可以用格式字符串来解析它:
datetime.strptime(d[:-3], "%Y-%m-%dD%H:%M:%S.%f")
答案 1 :(得分:0)
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
,字符串的最后三个数字(纳秒)始终为零。