阅读行和列

时间:2014-09-18 08:55:07

标签: python

我有以下文字,我可以使用我的代码

阅读
1;6;7.1023;13;7.4583;15;7.8140;45;6;7.1023;13;7.4583;15;7.8140;45
2;6;19.1023;13;19.4583;15;19.8140;45;6;19.1023;13;19.4583;15;19.8140;45
4;6;19.1023;13;19.4583;15;19.8140;45;6;19.1023;13;19.4583;15;19.8140;45
...
20; ...

我写了以下代码:

my_val = []
row=20
col=15
fr = open("%s" %filename,"r")
for i in range(0,row):
  for j in range (0,col):
    a = fr.readline().split(";")
    my_val = my_val + [float(a[2])]
print my_val

这给出了从第1行到第20行的每一行的位置a [2](例如第一行:7.1023)的值。

我想要的是同时从行 - 行1,4..7(即每隔三行)的每一行捕获值a [2] .. a [4],a [6]并将其存储在my_val中

有关如何扩展上述代码以实现此目的的任何想法。

1 个答案:

答案 0 :(得分:0)

如果我理解你想要它做什么,那么我认为这段代码会这样做:

my_val = []
row=20
col=15

f = open("%s" %filename,"r")
lines = f.readlines()

for i in range(1,row,3):
    a = lines[i].split(";")
    for j in range(2,col,2):    
        my_val.append(float(a[j]))

print my_val

f.close()