2016-09-19 3 views
2

Ich verarbeite eine csv in python (3.5), die ein Datumsfeld enthält. Das Datum enthält eine Mikrosekundengenauigkeit von 7 statt 6, was meiner Meinung nach das Maximum ist, das strptime verarbeiten kann.Wie behandelt man Mikrosekunden mit 7 Dezimalstellen anstelle von 6

Ohne das Feld das letzte Zeichen zu entfernen, gibt es eine Möglichkeit, dies zu einem Datetime-Objekt zu machen? Hier

ist der spezifische Code:

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

Sie müssen Amerikaner sein ... –

+0

@StefanPochmann Ich lachte – mikebmassey

+0

Ok gut :-). Und ich muss müde sein, btw, Witze über Amerikaner, die das metrische System nicht kennen, aber ich selbst habe gerade Mikro mit Milli verwechselt, bis ich die Antwort von @cco sah ... autsch. Wie auch immer, mindestens 7 Ziffern sind weder Milli noch Mikro, also nenne ich eine Krawatte :-) –

Antwort

2

Wenn das das Format Ihre Zahlen in sind, verwenden Sie einfach pd.to_timestamp(d)

datetime.datetime Objekte nur Mikrosekunde Auflösung haben (6 Stellen), aber Pandas Timestamps sind Numpy datetime64 Objekte.

Verwandte Themen