Wie bekomme ich die Daten in int umgewandelt?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
rickm
User
Beiträge: 9
Registriert: Mittwoch 14. August 2019, 13:37

Freitag 20. September 2019, 11:44

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?
Jankie
User
Beiträge: 123
Registriert: Mittwoch 26. September 2018, 14:06

Freitag 20. September 2019, 11:50

Code: Alles auswählen

    for row in csvReader:
        x_ko.append(int(row[0]))
        y_ko.append(int(row[1]))
rickm
User
Beiträge: 9
Registriert: Mittwoch 14. August 2019, 13:37

Freitag 20. September 2019, 11:52

doch so einfach? Und geht das auch mit allen anderen Datentypen wie z.B. float?
Jankie
User
Beiträge: 123
Registriert: Mittwoch 26. September 2018, 14:06

Freitag 20. September 2019, 11:56

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.
Sirius3
User
Beiträge: 10593
Registriert: Sonntag 21. Oktober 2012, 17:20

Freitag 20. September 2019, 13:41

@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.
Antworten