2017-06-15 4 views
0

Ich lese eine große CSV-Datei in Python mit der Methode read_csv von Pandas. Ich habe eine Spalte mit Datum und Uhrzeit (beide in derselben Spalte) des Formats: YYYY-MM-DD HH:MM:SS. Ich bin die 0. Spalte der Daten. Derzeit, was ich tue, ist:Lesen von CSV-Datei Python 3.6 mit Pandas

format = "%Y-%m-%d %H:%M:%S" 
    parser = lambda x: pd.datetime.strptime(x, format) 
    data = pd.read_csv("path/to/file", sep=',', encoding='ISO-8859-1', parse_dates=[0], date_parser=parser) 

Aber es sagt mir dtype Option beim Import angeben zu verwenden. Ich habe versucht, ein Argument zum Anruf hinzuzufügen: dtype = {[0]:pandas.datetime}, aber es hat nicht funktioniert. Haben Sie eine bessere Abhilfe? Oder kann jemand erklären, wie man das Argument dtype richtig verwendet? Ich habe versucht, die Dokumentation zu lesen, half aber nicht viel.

+0

Können Sie die tatsächlichen Fehler posten, die Sie bekommen? –

+0

Versuchen Sie ohne den 'date_parser' arg. Pandas hat einen guten Standard dafür. – josh

Antwort

0

Vielleicht können Sie versuchen, die Spalte zu formatieren, nachdem die Datei zu lesen

data = pd.read_csv("path/to/file", sep=',', encoding='ISO-8859-1') 

data[0] = pd.to_datetime(data[0], format= "%Y-%m-%d %H:%M:%S") 

Hoffe, es hilft.

+0

Ich hatte gehofft, das richtige Format beim Importieren zu haben. Ich dachte, das wäre schneller, da ich hier die riesige Datei lesen, den falschen Objekttyp zuweisen und ihn dann erneut lesen werde, um den richtigen zuzuweisen – anon