2016-05-12 13 views
0

Aus einer mit Microsoft SQL Server ausgeführten Abfrage habe ich eine CSV-Datei exportiert, die ich in einen Datenrahmen mit Pandas laden möchte. Hier habe ich einige Spalten, die Datumswerte enthalten. In Microsoft SQL werden die Datumswerte normalerweise angezeigt. Wenn Sie jedoch nach csv exportieren, ändern sich die Werte für die Datumswerte zu einem Float. Hier ein Beispiel:Konvertieren des DateTime-Formats von Excel in DateTime Pandas

 DateTime 1  Datetime 2 
     20/04/16 07:15 13:00.0 
     15:00.0   13:00.0 
     15:00.0   13:00.0 
     15:00.0   13:00.0 
     15:00.0   13:00.0 
     15:00.0   13:00.0 
     15:00.0   13:00.0 
     15:00.0   13:00.0 
     15:00.0   13:00.0 

In der ersten Zeile sehen Sie den Datumswert, der hinter der Ganzzahl steht. Es kommt ans Licht, wenn ich die Zelle in Excel betrete und Enter drücke ... Wenn ich diese in Pandas mit read_csv lade, wird das 15: 00.0 geladen und nicht das 20/04/16 07:15.

Ich habe versucht, die Spalte zu Datetime mit Xrld-Paket von Python zu ändern, leider hatte es nicht die erwartete Ausgabe.

Welche Art von Format ist das genau und ist es möglich, Code zu schreiben, um die Konvertierung der Datetime Spalten zu automatisieren?

Antwort

3

Sie sollten parse_dates=True oder parse_dates=['column name'] beim Lesen der Datei erwähnen.

df = pd.read_csv('filename.csv',parse_dates=['column_name']

siehe Dokumentation für weitere Informationen. http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html

+0

Ich bin froh, dass es dir geholfen hat. – shivsn

+0

Hi shivsn, irgendwie hat es aufgehört zu arbeiten. parse dates erkennt keine Datumsformate. Irgendwelche Ideen warum? – Uis234

+0

versuchen Sie diese 'pd.to_datetime (Daten ['DateTime1'])' – shivsn