所以我有一个平板阅读器,只会将结果输出到像这样的纯文本文件
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
我正在尝试编写代码,将表中的浮点数读入2D列表然后进行操作。我可以轻松编写操作部分的代码,但我无法将数据导入列表。主要问题是2种不同的变量类型。到目前为止,我有:
import numpy as np
local = input ("enter the file location: ")
data = [np.array(map(int, line.split())) for line in open(local)]
答案 0 :(得分: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]