解析 Python 字符串中的单位

12 投票
4 回答
8058 浏览
提问于 2025-04-17 17:35

假设我有一组像下面这样的字符串:

"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'

4 个回答

2

有没有一个可以帮助你做部分事情的ipython扩展?这个扩展叫做 ipython-physics

它可以存储数值和单位,并且允许进行一些基本的数学运算。我自己没有用过,所以不太清楚在python脚本中使用起来会有多简单。

3

最近,pint 是大多数人开始学习这些内容的一个不错选择。

6

Quantulum 正好可以满足你所描述的需求。

以下是它的描述摘录:

from quantulum import parser

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

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

撰写回答