Ich hole mir Daten aus der Zwischenablage in einen DataFrame:
Code: Alles auswählen
data = pd.read_clipboard(delimiter='\t')
data.columns = ['Datum', 'Zeit', 'B/S', 'Menge', 'Preis']
Ergebnis:
Code: Alles auswählen
Datum Zeit B/S Menge Preis
0 15Nov18 12:21:48:423 B 1 11414.0
1 15Nov18 12:21:28:278 B 1 11411.5
2 15Nov18 12:21:17:498 B 1 11410.5
3 15Nov18 12:21:17:495 B 1 11411.0
dann wandele ich in der Spalte 'Zeit' den String um, damit ich ihn in das Zeitformat umwandeln kann:
Code: Alles auswählen
data['Zeit'] = data['Zeit'].str.replace(':','.')
data['Zeit'] = data['Zeit'].str.replace('.',':',2)
Ergebnis:
Code: Alles auswählen
Datum Zeit B/S Menge Preis
0 15Nov18 12:21:48.423 B 1 11414.0
1 15Nov18 12:21:28.278 B 1 11411.5
2 15Nov18 12:21:17.498 B 1 11410.5
3 15Nov18 12:21:17.495 B 1 11411.0
(es wird also nur der letrzte Doppelpunkt duch einen Punkt ersetzt)
dann möchte ich die Spalte 'Zeit' in den Objekttyp 'datetime' umwandeln:
Code: Alles auswählen
data['Zeit'] = pd.to_datetime(data['Zeit']
Code: Alles auswählen
0 15Nov18 2018-12-01 12:21:48.423 B 1 11414.0
1 15Nov18 2018-12-01 12:21:28.278 B 1 11411.5
2 15Nov18 2018-12-01 12:21:17.498 B 1 11410.5
3 15Nov18 2018-12-01 12:21:17.495 B 1 11411.0
jetzt wurde das heutige Datum mit eingefügt, was leider falsch ist. Man könnte jetzt natürlich hingehen und vorher die Spalten Datum und Zeit kombinieren, damit das richtige Datum drinsteht, aber das ist auch nicht was ich wollte.
Ich habe zunächst probiert:
Code: Alles auswählen
data['Zeit'] = pd.to_datetime(data['Zeit'], format='%I:%M:%S')
Code: Alles auswählen
ValueError: unconverted data remains: .423
aber:
Code: Alles auswählen
data['Zeit'] = pd.to_datetime(data['Zeit'], format='%I:%M:%S.%f')
dann dachte ich mir, ok der hat das Datum da reingepackt, nimms mal mit:
Code: Alles auswählen
data['Zeit'] = pd.to_datetime(data['Zeit'], format='%y-%m-%d %I:%M:%S.%f')
Jetzt gehen mir die Ideen aus. Kann mir bitte jemand weiterhelfen, danke?