【问题标题】:How to convert strings of decimal values ​from excel to float [duplicate]如何将十进制值字符串从excel转换为float [重复]
【发布时间】: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方法来解决这类问题?

【问题讨论】:

标签: python python-3.x


【解决方案1】:

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

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

【讨论】:

  • 这会引发错误。您忘记了末尾的右括号。
  • 你说得对,谢谢
猜你喜欢
  • 2013-12-16
  • 1970-01-01
  • 2020-08-16
  • 2019-02-05
  • 2015-02-06
  • 2011-05-15
  • 1970-01-01
  • 2018-07-03
  • 2019-01-17
相关资源
最近更新 更多