我有一个txt文件,其中的数据如下:
# Contour 0, label: 37
41.6 7.5
41.5 7.4
41.5 7.3
41.4 7.2
# Contour 1, label:
48.3 2.9
48.4 3.0
48.6 3.1
# Contour 2, label:
61.4 2.9
61.3 3.0
....
因此,每个块都以注释开头,并以空行结尾。我想读取这些数据并将它们带入一个由numpy数组组成的列表中,就像这样:
# list as i want it:
[array([[41.6, 7.5], [41.5, 7.4], [1.5, 7.3], [41.4, 7.2]]),
array([[48.3, 2.9], [48.4, 3.0], [48.6, 3.1]]),
array([[61.4, 2.9], [61.3, 3.0]]), ...]
有没有一种有效的方法可以使用numpy完成这项任务?genfromtxt
或loadtxt
似乎没有所需的选项!?
loadtxt
和genfromtxt
并不是特别高效的。它们只是逐行读取输入,进行分割,并将值收集到列表中。转换在最后完成。对于简单的浮点数,您自己的读取器同样好用。 - hpaulj