根据条件替换csv数据(python)

时间:2016-01-23 20:24:28

标签: python csv

我有一个csv文件,其中包含我需要根据特定条件删除的数据(使用python)。我需要删除数据的条件是:

  • x< -10
  • x> 10
  • -1.0e-300< x< 1.0E-300

到目前为止,我只有:

    with open("Infile.csv","rb") as infile,open("Outfile.csv","wb") as outfile:
        reader = csv.reader(infile)
        writer = csv.writer(outfile)
        for row in reader:
            row = [x.replace(x, 'NaN') if -10 <= x <= 0 else x for x in row]
            writer.writerow(row)

哪个不会更改输出文件中的任何内容。

数据可能应该被0或NaN取代,尽管它并不重要

1 个答案:

答案 0 :(得分:0)

在比较之前,您必须将文本转换为int()float()

要在需要x < -10x > 10时删除元素:

[ x if -10 <= float(x) <= 10 else 'NaN' for x in row]
顺便说一下:也许你应该使用模块pandas。它可能更容易。