1

所以我有一个读板器在工作,它只会将结果输出到这样的纯文本文件中

  1       2       3       4       5       6       7       8       9      10         
A   1.551   0.686   0.613   3.823   1.356   3.117   1.941   1.454   0.820   3.346   
B   3.811   3.403   3.782   3.811   3.474   3.811   3.811   3.811   0.396   0.378   
C   1.278   3.816   3.816   3.816   3.766   3.816   3.329   3.816   1.625   3.816  
D   1.354   1.689   1.182   3.819   3.819   1.241   1.099   2.826   1.780   2.018   
E   3.816   1.970   3.807   3.816   3.489   0.407   3.816   3.816   3.030   2.663   
F   3.622   1.080   0.846   0.574   3.169   2.313   1.113   1.166   1.567   1.983  
G   0.782   2.101   1.681   0.494   1.865   1.920   1.819   1.183   0.770   1.686  
H   2.561   1.046   2.009   2.410   0.751   3.814   2.703   0.799   1.935   3.814 

我正在尝试编写代码,将表格中的浮点数读取到二维列表中,然后对其进行操作。我可以轻松地对操作部分进行编码,但我无法将数据放入列表中。主要问题是两种不同的变量类型。到目前为止,我有:

import numpy as np
local = input ("enter the file location: ")
data = [np.array(map(int, line.split())) for line in open(local)]
4

1 回答 1

2

您的解决方案很接近。第一行只是列索引,所以你可以跳过它。第一列是行索引,也可以跳过。而你的数据是float,不是int

此外,使用上下文管理器来管理您的资源,使用该with语句,文件会自动关闭。可能不会在简短的脚本中有所作为,但要养成一个好习惯。

import numpy as np
local = input ("enter the file location: ")
with open(local) as f:
    f.readline()  #  skip column indices
    data = [np.array(map(float, line.split()[1:])) for line in f]
于 2013-05-23T20:01:08.533 回答