hatte ich die unten csv Datenändern Datumsformat in Pandas
country,sale,date,trans_factor
India,403171,12/01/2012,1
Bhutan,394096,12/01/2012,2
Nepal,super,12/01/2012,3
madhya,355883,12/01/2012,4
sudan,man,12/01/2012,5
csv_data = pandas.read_csv(csv_file_data, skiprows=[0], names=original_csv_header, parse_dates=True, infer_datetime_format=True)
print csv_data
country sale date trans_factor
0 India 403171 12/01/2012 1
1 Bhutan 394096 12/01/2012 2
2 Nepal super 12/01/2012 3
3 madhya 355883 12/01/2012 4
4 sudan man 12/01/2012 5
Auch parse_dates=True
der obige Code nicht die Werte 12/01/2012
-2012-01-12
nach dem Hinzufügen geändert, und ich weiß nicht, warum
ich möchte die Datumsspalte im Format '%d/%m/%Y'
zu formatieren und so versuchte ich mit dem Code unten
dates = {
'dd/mm/yy': "%d/%m/%Y",
'mm/dd/yy': "%m/%d/%Y",
}
def return_date_fromat(d, date_format):
return datetime.datetime.strptime(d, date_format)
csv_data["date"] = csv_data["date"].apply(lambda d: return_date_fromat(d, dates['dd/mm/yy']))
bas matisch i als return_date_fromat
eine andere Funktion für Lambda verwende, weil, wenn ich wie
csv_data["date"] = csv_data["date"].apply(lambda d: datetime.datetime.strptime(d, dates['dd/mm/yy'])
verwendet i *** NameError: global name 'dates' is not defined
bin immer und damit Lambda eine Funktion return_date_fromat
für ich bin mit
So endlich, wie das Datum zu formatieren?
im Grunde bin ich die Reihenfolge der Datumsspalte bekommen dynamisch oder zufällig und so kann ich nicht harter Kern es mit 'parse_dates = [2]', also gibt es irgendwie, es in '% d /% m /% Y' einmal zu ändern, nachdem csv gelesen wurde? –
Ist möglich parse nach Name der Spalte wie 'df = pd.read_csv (StringIO (temp), parse_dates = ['Datum'])'? – jezrael
Nein, wie ich im vorherigen Post gesagt habe, hatte ich diesen Code 'csv_data [Fremdschlüssel.Tabellenspaltenname] = CSV_Daten [Fremdschlüssel.Tabellenspaltenname] .apply ( Lambda d: Rückgabedatum_fromat (d, Daten [Fremdschlüssel.date_format]))) Ich bekomme dynamisch und so muss ich das Format innerhalb der Methode 'return_date_fromat' selbst ändern, wenn es Ihnen nichts ausmacht, war das möglich? –