[英]How to filter rows from a csv file based on threshold numerical values using python
我有一个具有三列和许多行的.csv文件,其中第一列是名称,第二列和第三列是值。 我想过滤出所有值小于1的行。因此,如果row[1] and row[2]
中的值>=1
我编写了一个脚本来读取文件并写入新文件。 但是,我的输出文件包含我输入文件中的所有内容,包括带有0的行。 我不知道怎么了。 很感谢任何形式的帮助!
from sys import argv
script, filename, outputfile = argv
import csv
#with open(filename,'r'), open (outputfile,'w') as fin, fout:
with open(filename,'r') as fin, open (outputfile,'w') as fout:
writer = csv.writer(fout, delimiter=',')
for row in csv.reader(fin, delimiter=','):
#if row[1] and row[2] >= 1:
if row[1] >=1 and row[2] >= 1:
writer.writerow(row)
将字符串转换为int:
import csv
with open(filename,'r') as fin, open (outputfile,'w') as fout:
writer = csv.writer(fout, delimiter=',')
for row in csv.reader(fin, delimiter=','):
if int(row[1]) >=1 and int(row[2]) >= 1:
writer.writerow(row)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.