ValueError: invalid literal for int() with base 10: '4560,00'

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
Hans-Uwe
User
Beiträge: 56
Registriert: Dienstag 16. Januar 2018, 16:26

Hi,

ich habe auf einmal diese Fehlermeldung, die ich vorher nicht hatte. Das Skript hat also schonmal ohne Error funktioniert.

Ich lese eine Zahl aus die ich folgendermaßen hinterlege:

Code: Alles auswählen

density_YAG = int(werte[19][3])
"werte" ist die Liste mit den entsprechenden Daten, die ich aus einer .csv lesen möchte. Der Wert 4560 ist 100%ig als int() gespeichert.

Wenn ich den Wert als float einlese kommt die Fehlermeldung:

Code: Alles auswählen

ValueError: invalid literal for float(): 4560,00
Wieso denkt Python auf einmal, dass das was anderes als ein integer ist? Am meisten wundert mich aber wieso das Problem auf einmal auftritt. Es hat definitiv schonmal funktioniert. Meine erste Vermutung ist, dass ich unbewusst irgendwas in der .csv geändert habe, aber das sieht alles genau aus wie vorher.
Hans-Uwe
User
Beiträge: 56
Registriert: Dienstag 16. Januar 2018, 16:26

Ok, ich habe irgendwas mit den Trennzeichen in den Optionen bei Excel verstellt. Läuft jetzt wieder.
Benutzeravatar
DeaD_EyE
User
Beiträge: 1017
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Da war ein Komma drin. Wahrscheinlich den falschen Delimiter verwendet.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
RIN67630
User
Beiträge: 91
Registriert: Sonntag 29. April 2018, 08:07

Hans-Uwe hat geschrieben: Wieso denkt Python auf einmal, dass das was anderes als ein integer ist?
Python3 macht nach eine Division grundsätzlich ein Float daraus.
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

@RIN67630: es ging um Stringparsen, nicht um Division.
Antworten