繁体   English   中英

如何使用python基于阈值数值从csv文件过滤行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM