Python 将.txt文件中的特定行装入数组

Python 将.txt文件中的特定行装入数组,python,arrays,file-io,Python,Arrays,File Io,我有一个.txt文件,需要打开它并创建一个数组(在Python中)。但是,我不想为数组选择所有行,只选择第一行 例如,my.txt文件的内容如下: 1 1 1 1 4 6 4 5 6 8 9 7 并且,我想创建一个数组,这样我可以像这样分配它: Y= array([[1, 4, 6], [4, 5, 6], [8, 9, 7]]) 我需要将其推广到将来的文件中,这些文件将创建一个忽略第一行文本的数组 你可以这样做 with open(file) as f: Y = [map

我有一个.txt文件,需要打开它并创建一个数组(在Python中)。但是,我不想为数组选择所有行,只选择第一行

例如,my.txt文件的内容如下:

 1 1 1
 1 4 6
 4 5 6
 8 9 7
并且,我想创建一个数组,这样我可以像这样分配它:

 Y= array([[1, 4, 6], [4, 5, 6], [8, 9, 7]])
我需要将其推广到将来的文件中,这些文件将创建一个忽略第一行文本的数组

你可以这样做

with open(file) as f:
    Y = [map(int, line.split()) for line in f.readlines()[1:]]
请注意
[1:][/code>,它会抓取除第一行之外的所有其他行。

尝试:

import numpy

data = numpy.loadtxt('data.txt',skiprows=1)

到目前为止你做了什么?确保你发布了你的代码——这不仅有助于我们理解你在做什么,而且可以更容易地给你提供建议。这也是一种礼貌,因为这表明你在要求他人做出努力之前先做出了努力。请参阅上的更多选项。如果我也想跳过第一行和第三行,我该如何做?谢谢为了将来reference@har.cruz1972为了获得完全的灵活性,您可以使用上述方法和
切片
。例如,使用上面的选项,您可以忽略开头的任意行数。然后,对于您的其他工作,例如跳过第三行等,最好使用
slice
。例如,
data=numpy.vstack(data[:2],data[3:])
。使用
掩蔽
可以实现更大的灵活性
msk=numpy.one((data.shape[0],)
msk[2]=0
data=data[msk]
。以这种方式看,任何复杂的事情都很容易处理。@ashwinlyengar,如果我想抓住除第一行和最后一行之外的每一行(每个文本文件的行数不同),我该怎么做?(供将来参考)如果您有一个名为
a
的数组,只需执行
a[1:-1]
。数组索引的python格式是
[start:stop:step]
(所有选项都是可选的),因此您可以指定从何处开始、停止,然后跳过多少个元素(例如
a[::2]
为您提供
a
的每秒钟一个元素)。此外,负索引指定数组后面的元素数。这就是
[1:-1]
起作用的原因:它本质上意味着“从第一个元素到第二个到最后一个元素的每个元素”