繁体   English   中英

如何从python中的文本文件中获取浮点数?

[英]How to get floats from text file in python?

嗨,我是python的新手,并且我有一个具有以下结构的文本文件.txt:

Text1     31332.22342
Text2     293023.32323
Text3     32332.32323

将这些数字放入数组的最简单方法是什么? 干杯!

您可以读取文件并将其拆分为一个列表,然后遍历该列表并尝试转换为浮点数,如果成功,则将其添加到浮点数列表中。 如下所示:

    with open('file.txt', 'r') as f:
        data = f.read().split()
        floats = []
        for elem in data:
            try:
                floats.append(float(elem))
            except ValueError:
                pass
        print floats

输出:

[31332.22342, 293023.32323, 32332.32323]

您还可以使用numpy genfromtxt函数。 像这样的东西:

text_file.txt

Text1     31332.22342
Text2     293023.32323
Text3     32332.32323

蟒蛇壳

>>> import numpy as np
>>> numbers = np.genfromtxt('text_file.txt', usecols=1 )

输出

[  31332.22342  293023.32323   32332.32323]

要对您的数据类型进行属性验证,请尝试以下操作:

import numpy as np
data = np.genfromtxt("test.txt", usecols=1, dtype=float)

输出:

[  31332.22342  293023.32323   32332.32323]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM