문제

쉼표가 포함 된 텍스트로 시트에서 스캔 한 플로트를 어떻게 구문 분석 할 수 있습니까?

txt = "1,903.44"
value = float(txt) # This fails due to ',' in string

업데이트 : 죄송합니다. 명확하지 않았습니다. 로케일 모듈이없는 Jython 2.5를 사용하고 있습니다.

도움이 되었습니까?

해결책

txt = "1,903.44"
value = float(txt.replace(',', ''))

현지화가 필요한 경우 실제로는 작동하지 않지만 쉼표가 분리기라는 것을 알고 있다면 트릭을 수행합니다.

다른 팁

사용 locale.atof() ~ 후에 locale.setlocale(locale.LC_ALL, '').

쉼표를 벗길 수 있습니다.

txt = txt.replace(',', '')
value = float(txt)

나는 피하기 위해 금전적 값을 처리 할 때 개인적으로 소수점 패키지를 사용합니다. 잘 문서화 된 함정 부동 소수점을 사용할 때 발생합니다.

from decimal import Decimal
txt = txt.replace (',', '')
value = Decimal(txt)

다른 포스터에서 언급 한 바와 같이, 이것은 로케일이 ','수천 개의 분리기로 사용하는 것으로 알려져 있지만 올바른 방향으로 가야하는 경우에만 작동합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top