【发布时间】:2020-02-09 09:52:47
【问题描述】:
我正在处理的 Excel 文件中的十进制数字表示法系统(我认为)是欧洲系统(如法语和德语)。所以我有这样的数字:
- '23,4588'
- '78,056888'
注意它们是字符串的形式。当我尝试将它们转换为浮点数时,python 会引发异常:
>>> float('78,056888')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: could not convert string to float: '78,056888'
这是我解决问题的方法:
try:
decim = int(excel_value)
except ValueError:
remap = {ord(','): '.'}
decim = float(excel_value.translate(remap))
它似乎按我的意愿工作。
所以我的问题是:有没有更合适的python方法来解决这类问题?
【问题讨论】:
-
这个看起来很有趣:stackoverflow.com/a/7106835/11610186(以及下面的一个,以防你专门处理
pandas)
标签: python python-3.x