Python 如何将文件数据转换为浮点数据



我正在尝试将文件中的数据转换为浮点数。这是一个非常大的文件。它不会让我转换它,因为它说它是一个列表。我该如何解决这个问题?

    File = open(filename,'r')
    for line in File:
        Data = File.readlines()
        for line in Data:
                numData = float(Data)
    File.close()
for line in Data:
    numData = float(Data)

这就是你的问题所在。您正在Data列表上调用float(),而不是在元素line上调用。

顺便说一句,当您不必时,您似乎在文件上循环了两次。你声明File,然后迭代它,每次迭代,你都在重读它——并再次迭代它。您可能应该做更多类似的事情:

with open(filename, 'r') as file:
    for line in file:
        numData = float(line)

当然,我怀疑你是否真的想每次都设置numData(根据 PEP8、IIRC 应该称为num_data)。不过,我不知道它应该用作什么,因为变量名称不清楚,所以我不能告诉你应该做什么。如果它是一个列表,你可能的意思是这样的:

with open(filename, 'r') as file:
    for line in file:
        num_data.append(float(line))

请注意,我将numData更改为num_data

这是一种方法:

file_lines = [float(ln.rstrip()) for ln in open(filename)]

相关内容

  • 没有找到相关文章