Seite 1 von 1

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

Verfasst: Dienstag 8. Mai 2018, 13:02
von Hans-Uwe
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.

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

Verfasst: Dienstag 8. Mai 2018, 13:17
von Hans-Uwe
Ok, ich habe irgendwas mit den Trennzeichen in den Optionen bei Excel verstellt. Läuft jetzt wieder.

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

Verfasst: Dienstag 8. Mai 2018, 16:17
von DeaD_EyE
Da war ein Komma drin. Wahrscheinlich den falschen Delimiter verwendet.

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

Verfasst: Dienstag 8. Mai 2018, 16:24
von RIN67630
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.

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

Verfasst: Mittwoch 9. Mai 2018, 08:35
von Sirius3
@RIN67630: es ging um Stringparsen, nicht um Division.