我有一个csv文件,其中包含我需要根据特定条件删除的数据(使用python)。我需要删除数据的条件是:
到目前为止,我只有:
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取代,尽管它并不重要
答案 0 :(得分:0)
在比较之前,您必须将文本转换为int()
或float()
。
要在需要x < -10
或x > 10
时删除元素:
[ x if -10 <= float(x) <= 10 else 'NaN' for x in row]
顺便说一下:也许你应该使用模块pandas
。它可能更容易。