通过Python同时从多个文件中提取某些列

时间:2014-05-29 09:18:48

标签: python glob

我的目的是从多个数据文件中提取一个特定列。 所以,我尝试使用glob模块来读取文件,并尝试从每个文件中提取一列,如下所示:

filin = diri + '*_7.txt'
FileList=sorted(glob.glob(filin))
for INPUT in FileList:
    a = []
    b = []
    c = []
    T = []
    f = open(INPUT,'r')
    f.seek(0,0)
    for columns in ( raw.strip().split() for raw in f):
            b.append(columns[11])
            t = np.array(b, float)
            print t
            t = list(t)
            T = T + [t]
    f.close()
print T

我使用的数据文件数是32.所以,我预计第二个'for'语句只运行32次,而只生成32个t数组。但是,结果看起来不像我的预期。 我认为这可能是由于第一个'for'声明的影响,但我不确定。 任何想法或帮助将非常感激。 谢谢, 艾萨克

1 个答案:

答案 0 :(得分:1)

您清除每个文件的T = []。在第一次循环之前移动T = []行。