如何选择数据行

时间:2013-04-27 12:14:12

标签: python select rows

我有一个4列x 180.000行的数据文件。我想基于第3列中的值在特定间隔内的标准,即最小值<1,来选择要保存到新文件的整行数据。第3列值&lt;最大值。

任何想法如何做到这一点?

2 个答案:

答案 0 :(得分:3)

使用csv module进行读写,然后只过滤:

with open(inputfilename, 'rb') as inputfile, open(outputfile, 'wb') as outputfile:
    reader = csv.reader(inputfile)
    writer = csv.writer(outputfile)

    for row in reader:
        if minval <= int(row[2]) <= maxval:
            writer.writerow(row)

答案 1 :(得分:1)

可以使用简单的CSV读/写来完成。 使用Numpy可以更加优雅地使用矢量化形式,而且由于行数很大,Numpy可能会更快。

import numpy as np
#Load file into a 'MATRIX'
data=np.loadtxt('name_of_delimited_file.txt')
# Find indices where the condition is met
idx_condition_met=(data[:,2] > min) & (data[:,2] < max)
np.savetxt('output.txt', data[idx_condition_met], delimiter=',')