Seite 1 von 1
Wie bekomme ich die Daten in int umgewandelt?
Verfasst: Freitag 20. September 2019, 11:44
von rickm
Hallo,
ich lese momentan eine csv-Datei folgendermaßen ein:
Code: Alles auswählen
x_ko = []
y_ko = []
with open('trajektorie.csv') as csvDataFile:
csvReader = csv.reader(csvDataFile)
for row in csvReader:
x_ko.append(row[0])
y_ko.append(row[1])
nun möchte ich mit den einzelnen EInträgen von x_ko und y_ko Rechenoperationen durchführen und dabei erscheint aktuell die Fehlermeldung, dass string und int-Variablen nicht verrechnet werden können. Muss ich die Sruktur hier komplett ändern oder gibt es eine Möglichkeit, es in int umzuwandeln?
Re: Wie bekomme ich die Daten in int umgewandelt?
Verfasst: Freitag 20. September 2019, 11:50
von Jankie
Code: Alles auswählen
for row in csvReader:
x_ko.append(int(row[0]))
y_ko.append(int(row[1]))
Re: Wie bekomme ich die Daten in int umgewandelt?
Verfasst: Freitag 20. September 2019, 11:52
von rickm
doch so einfach? Und geht das auch mit allen anderen Datentypen wie z.B. float?
Re: Wie bekomme ich die Daten in int umgewandelt?
Verfasst: Freitag 20. September 2019, 11:56
von Jankie
Naja, es ist naturlich klar, dass du den String "Hallo Welt" nicht mit int() konvertieren kannst. Allerdings kannst du das mit einem String wie "5667", oder einen String mit "5.667" kannst du mit float() zu einem float Wert konvertieren. Umgekehrt geht es auch, also ein float oder int wert mit str() in einen String umwandeln.
Re: Wie bekomme ich die Daten in int umgewandelt?
Verfasst: Freitag 20. September 2019, 13:41
von Sirius3
@rickm: es ist nicht nett, dass Du x und y k.o. schlägst. Also, Variablennamen nicht abkürzen. Konvention ist, Variablennamen klein_mit_unterstrich zu schreiben, also csv_reader und csv_data_file.
x- und y-Koordinaten gehören zusammen, sollten also nicht in zwei getrennten Listen gespeichert werden, sondern in einer, mit (x,y)-Tuplen. Wenn Du damit rechnen willst, ist es vielleicht besser, numpy oder pandas zu benutzen, da ist das Lesen und Zahlenkonvertieren schon inklusive.