在使用Python读取文件期间跳过行,并将行保存到多个数组中

在使用Python读取文件期间跳过行,并将行保存到多个数组中,python,numpy,readline,multidimensional-array,Python,Numpy,Readline,Multidimensional Array,我在示例文件test.dat中保存了以下数据: 我正在尝试执行以下步骤: 打开文件并读取它。 跳过前两行。 将前4列保存为数组dist,将第5列保存为另一个数组c,忽略最后两列。 也跳过最后两行。 打印数组dist和c。 我当时编写了以下代码: with open('test.dat', 'r') as f: dump = f.readline().strip() dump = f.readline().strip() array = [ [float(x) for x

我在示例文件test.dat中保存了以下数据:

我正在尝试执行以下步骤:

打开文件并读取它。 跳过前两行。 将前4列保存为数组dist,将第5列保存为另一个数组c,忽略最后两列。 也跳过最后两行。 打印数组dist和c。 我当时编写了以下代码:

with open('test.dat', 'r') as f:
    dump = f.readline().strip()
    dump = f.readline().strip()
    array = [ [float(x) for x in line.split()] for line in f]
f.closed

请告诉我如何使用Python和ndarray进行此操作,因为我想在之后对数据进行一些数字操作。谢谢大家!

要将整个文件读入一个数组:

out = np.genfromtxt('test.dat', skip_header=2, skip_footer=1, usecols=range(5))
要将其拆分为两个阵列:

dist, c = np.split(out, [4], 1)
或者更简单地说:

dist = out[:, :4]
c = out[:, 4]
看看哪一个允许您选择您想要的列。
dist = out[:, :4]
c = out[:, 4]