Python文件中的条件字段问题

时间:2015-04-20 03:27:04

标签: python csv

到目前为止,这是我的代码:

with open('in.csv', 'rb') as inp, open('out.csv', 'wb') as out:
    writer = csv.writer(out)
    for row in csv.reader(inp):
        try:
            floatRow= float(row[3].strip())
            if  floatRow > 180.0:
                row[3] = floatRow - 180.0
                writer.writerow(row)
            else:
                if floatRow < 180.0:
                    row[3] = floatRow + 180.0
                else:
                    writer.writerow(row)

        except ValueError,e:
            writer.writerow(row)

问题出现在if / else声明中。 &#39;如果&#39;语句有效(如180的减法),而else语句不起作用。脚本运行正常,但由于某种原因,它将消除值低于180的所有记录。

我哪里出错了,我该如何解决?

1 个答案:

答案 0 :(得分:3)

您没有为writer.writerow(row)块写入行(if缺失)

if floatRow < 180.0:
    row[3] = floatRow + 180.0
    writer.writerow(row) # This is missing
else:
    writer.writerow(row)

注意 :由于您正在使用if-else主要更改row [3]列的数据,我建议您通过移动{{1来简化脚本语句输出并仅保留在writer.writerow - if

内改变逻辑
elif