Python 如何转换十进制值字符串​;从excel到float

Python 如何转换十进制值字符串​;从excel到float,python,python-3.x,Python,Python 3.x,我正在处理的Excel文件中的十进制数字表示法是(我认为)欧洲的系统(如法语和德语)。所以我有这样的数字: “234588” ‘78056888’ 请注意,它们是字符串的形式。当我尝试将它们转换为float时,python引发了一个异常: >>> float('78,056888') Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError

我正在处理的Excel文件中的十进制数字表示法是(我认为)欧洲的系统(如法语和德语)。所以我有这样的数字:

  • “234588”
  • ‘78056888’
请注意,它们是字符串的形式。当我尝试将它们转换为float时,python引发了一个异常:

>>> float('78,056888')
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
ValueError: could not convert string to float: '78,056888'
它似乎像我想要的那样工作


所以我的问题是:有没有更合适的python方法来解决这类问题?

您可以使用
str.replace更简洁地实现这一点:

decim=float(excel_value.replace(',','))

您可以使用
str.replace
更简洁地执行此操作:

decim=float(excel_value.replace(',','))

这会引发一个错误。你在结尾忘了一个右括号。你是对的,谢谢。这是一个错误。你在结尾忘了一个右括号。你说得对,谢谢这一个看起来很有趣:(如果你专门处理
熊猫
),下面的一个看起来很有趣:(如果你专门处理
熊猫
),下面的一个看起来很有趣:(如果你专门处理
熊猫
 try:
     decim = int(excel_value)
 except ValueError:
     remap = {ord(','): '.'}
     decim = float(excel_value.translate(remap))