引用数组

时间:2013-01-08 21:35:49

标签: python python-2.7

我的代码目前将数据写入如下文件:

1   1.64    -0.76
2   2.365   0.39
3   6.48    0.88
4   10.45   -0.75
5   12.12   -0.33
6   15.39   0.85
7   19.32   -0.73
8   24.24   0.92
9   26.73   0.35
10  28.18   -0.75
11  33.14   0.85
12  37.02   -0.74
13  37.19   -0.35
14  41.9    0.9
15  45.81   -0.85
16  50.48   0.34
17  50.71   0.84
18  54.61   -0.71
19  59.53   0.88

现在我想引用它进行操作,例如仅打印第3列。我试过:

f = open('./gilly.txt', 'r')
print f[2]

但它没有用......建议?

2 个答案:

答案 0 :(得分:2)

文件只能逐行读取,因此您必须阅读所有文件。如果您只需要一列,则可以执行以下操作:

with open('gilly.txt') as myfile:
    third = [float(line.split()[2]) for line in myfile]

(请注意转换为float)。

或者您可以将整个文件读入列表列表:

with open('gilly.txt') as myfile:
    lists = [line.split() for line in myfile]

有时您根本不需要构建列表:

with open('gilly.txt') as myfile:
    tuples = (map(float, line.split()) for line in myfile)

这应该让你开始。

答案 1 :(得分:0)

将整个文件读入数据结构:

data = [x.strip ().split () for x in open ('gilly.txt') ]

或者获得花车

data = [ [float (y) for y in x.strip ().split () ] for x in open ('gilly.txt') ]