从文本文件中提取十进制值的Python脚本

-7 投票
2 回答
1206 浏览
提问于 2025-04-18 05:35

我有一个文本文件,里面有浮点数和字符串,

50.0 length  
15.5 diameter  
12.45 width   

每一行都是这样的内容。

我想知道怎么只提取每一行中的浮点数。

我希望得到的结果是一个只包含浮点数的列表,比如说 [50.0, 15.5, 12.45]。

2 个回答

0

有很多方法可以做到这一点。在不知道你具体需要处理什么输入的情况下,我给你提供几个选项:

  • 正则表达式。\d可以匹配一个数字。[0123456789.]可以匹配所有数字和小数点。你可以把它们全部提取出来,然后进行操作。
  • 字符串处理。你的例子是1234.56 wordword。如果你的输入格式都是这样,可以通过空格把字符串分开,然后把第一个部分转换成浮点数。
3

根据你提供的信息,我会这样做:

with open(your_text_file_name) as f:
    values = [float(line.split()[0]) for line in f if line]

撰写回答