ok,标题写的有点晦涩,其实意思很简单就是如何把
“12,345.678” (str)
转化为
12345.678 (float)
为什么会有这个问题呢,其实就是 ArcMap 在导出表格数据到 txt 的时候,会把浮点数做成这种样子
如果没有分隔符的话,python的处理方法很简单了,就是
f = float(s)
但可惜的是,float是不支持这个分隔符的
那么下面就是解决方法了,有两个
1,直接使用 replace,相当于把这个逗号先替换掉,再做 float ,这是可以的,简单粗暴,具体就不上代码了
2,这个方法更优雅点,就是使用 locale,代码多了几行,不过如果你有一枚国际化和本地化的心,那么这种方法适合你
from locale import *
setlocale(LC_NUMERIC, 'English_US')
atof('123,456') # 123456.0