如何使用Python脚本从CSV文件过滤

时间:2012-05-10 08:37:24

标签: python csv filter

我的abx.csv文件有三列。我想过滤ApplicationCentral的数据并将其写入相同的.csv文件

User ID   Name        Application  

001       Ajohns      ABI
002       Fjerry      Central
900       Xknight     RFC
300       JollK       QDI
078       Demik       Central

我需要在同一个.csv文件的三列中编写User ID,Name,Apllication(修改现有文件)

2 个答案:

答案 0 :(得分:13)

import csv
reader = csv.reader(open(r"abx.csv"),delimiter=' ')
filtered = filter(lambda p: 'Central' == p[2], reader)
csv.writer(open(r"abx.csv",'w'),delimiter=' ').writerows(filtered)

答案 1 :(得分:10)

您应该使用不同的输出文件名。即使您希望名称相同,也应使用一些临时名称,最后重命名文件。否则你必须先将文件读入内存

import csv
with open('infile','r'), open ('outfile','w') as fin, fout:
    writer = csv.writer(fout, delimiter=' ')            
    for row in csv.reader(fin, delimiter=' '):
        if row[2] == 'Central':
             writer.writerow(row)