Python 什么是yy-mm-dd';D';格式?

Python 什么是yy-mm-dd';D';格式?,python,datetime-format,Python,Datetime Format,我有一些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

我有一些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'。 我搜索了谷歌,但找不到关于该格式的参考资料。。
有人知道这个格式吗?

我认为这是ISO 8601的一个奇怪变体。可以使用格式字符串对其进行分析:

datetime.strptime(d[:-3], "%Y-%m-%dD%H:%M:%S.%f")

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'
解析微秒,并要求小数点后只有六位小数。我的格式字符串中剩余的三个零告诉
strtime
字符串的最后三位(纳秒)总是零。

Hah是的,绝对是。当然,我误读了文档,strftime和strptime的格式是相反的。谢谢<代码>值错误:未转换的数据仍然是:000,因为没有纳秒,所以我刚刚删除了它们。可能会提到常见的变化是使用T而不是D(尽管两者都很糟糕)