Konwertowanie ciągu znaków na zmiennoprzecinkowe z separatorem tysięcy „,”. „123 000.12” na 123 000.12 [duplikat]

Nov 22 2020

Nie mogę wykonywać żadnych operacji matematycznych na tych wartościach, które wyeksportowałem. Używam xlwtdo tego biblioteki. Jakikolwiek sposób, aby przekonwertować te wartości w formacie, aby móc wykonywać na nim operacje matematyczne.

Odpowiedzi

3 MaxTechniche Nov 22 2020 at 06:45
float('3629,473.237'.replace(',', ''))
1 WasifHasan Nov 22 2020 at 06:46

Możesz zamienić przecinki, nie mają one sensu poza czytelnością

n = float("3629,473.237".replace(",",""))

Aby ponownie dodać przecinki jako ciąg, możesz użyć ciągów formatu:

print("{:,}".format(n))

W Pythonie 3.6+ istnieją f-stringi

print(f"{n:,}")
sultanayubi Nov 22 2020 at 06:58

Nie; będziesz musiał ręcznie usunąć przecinek.

float("123,000.12".replace(',',''))

Jeśli masz spójne dane, równie dobrze możesz usunąć wszystkie przecinki i przekonwertować wynik.