2016-09-19 4 views
2

Я обрабатываю csv в python (3.5), в котором есть поле даты. Дата содержит микросекундную точность 7, а не 6, что, по моему мнению, является максимальным, которое может обрабатывать strptime.Как обрабатывать микросекунды с 7 десятичной точностью вместо 6

Не лишив поле последнего символа, есть ли способ сделать это объектом datetime?

Вот конкретный код:

d = '2015-07-03 17:29:34.5940379' 
pd.datetime.strptime(d, '%Y-%m-%d %H:%M:%S.%f') 
ValueError: unconverted data remains: 9 
+1

Вы должны быть американскими ... –

+0

@StefanPochmann Я смеялся – mikebmassey

+0

Хорошо хорошо :-). И я, должно быть, устал, кстати, шутя о том, что американцы не знают метрическую систему, но на самом деле я просто путаю микро с милли, пока не увидел ответ @ cco ... ох. Во всяком случае, как минимум 7 цифр не являются ни миллиами, ни микро, поэтому я называю это галстуком :-) –

ответ

2

Если это формат ваши номера в, просто используйте pd.to_timestamp(d)

datetime.datetime объекты имеют только разрешение микросекунд (6 цифр), но Pandas Timestamps являются Numpy datetime64 объектов.

Смежные вопросы