Hallo,
zu meiner eigentlichen Frage, ob es eine bessereLösung gibt folgendes:
auf einer Website: Tupel in float-Wert konvertieren, fand ich folgende Lösung:
Code: Alles auswählen
tupel=(3,45)
res=float('.'.join(str(ele) for ele in tupel)
Nur leider funktioniert das nicht mit Tausenderpunkt.
Darum bastelte ich an einer Lösung.
Der Grund warum ich das wissen wollte, ist folgender,denn jetz muß ich weiter
ausholen, was ich zuerst vermeiden wollte.
Ich hole CSV und Excel Bankdaten aus verschiedenen Banken um sie mittels Dataframe
in eine SQlite DB zu exportieren. War mit Excel kein Problem. Die andere Bank liefert
die CSV Daten in einer Soll und Haben Spalte, mit Komma und Tausenderpunkt.
mit pd.read_csv eingelesen mit apply(replace...) zuerst den Punkt entfernt,
danach das komma durch Punkt ersetzt und mit df['Haben']-df['Soll] eine Betragscolumne erstellt.
funktionierte alles gut, bis ich bemerkte, das replace bei einigen nicht funktioniert. (-34567 statt 234.67)
Diese Ziffer aus CSV kopiert und in Python mit type kontrolliert ergab tuple und das dürfte
der Grund für das Verhalten sein. Habe halt für 2020 in dem der Fehler auftrat die Spalte in Excel vorher umformatiert.
Es hat mich halt interessiert ob für Tupel to float eine ähnlich kurze Lösung wie die oben zitierte gibt.
Muss mir das Modul locale anschauen.
Ist jetzt leider etwas lang geworden, das wollte ich mir zuerst ersparen.
Gruß und Dank an alle.