【问题标题】:Parse Python String for Units为单位解析 Python 字符串
【发布时间】:2013-02-16 03:32:49
【问题描述】:

假设我有一组字符串,如下所示:

"5 m^2"
"17 sq feet"
"3 inches"
"89 meters"

是否有 Python 包可以读取此类字符串,将它们转换为 SI,并以易于使用的形式返回结果?例如:

>>> a=dream_parser.parse("17 sq feet")
>>> a.quantity
1.5793517
>>> a.type
'area'
>>> a.unit
'm^2'

【问题讨论】:

标签: python units-of-measurement


【解决方案1】:

Quantulum 将完全按照您的描述进行操作

摘自其描述:

from quantulum import parser

quants = parser.parse('I want 2 liters of wine') 

# quants [Quantity(2, 'litre')] 

【讨论】:

  • 这很好,但它不适用于像 273x27x27 mm 这样的多维度...
  • 不适用于 Python 3,最后一个版本是 2016 年 8 月。
  • 有一个python 3版本,Quantulum3
【解决方案2】:

最近,pint 是一个很好的起点。

【讨论】:

    【解决方案3】:

    是否有 ipython 的扩展可以至少完成您想要的部分功能。它叫ipython-physics

    它确实存储了值和单位,并允许(至少)一些基本的数学运算。我自己从来没有用过,所以不知道在 python 脚本中使用起来有多容易

    【讨论】:

    • 我明白了。我只是看了一下源代码,在我看来,Ipython 仅在加载/卸载扩展时进入,而不是在扩展本身的主体中。但我猜pint 赢了,如果不是因为名字和图片
    猜你喜欢
    • 2015-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多