我有这段代码:
import csv
def main():
file1 = open("filepath", "r")
reader = csv.reader(file1)
i = next(reader)
for row in file1:
if i[3] < i[4]:
print("troubling")
elif i[3] < i[5]:
print("concerning")
else:
print("None")
main()
到目前为止,这样做是将我的列分开,所以我可以将它们相互比较,但现在它正在比较整个列,而不是在每一行中,我如何让它做每行而不是比较两整列。现在,第4列的值是最大的,所以它打印出来的#34;麻烦&#34; 100次,我想要它打印&#34;麻烦&#34;仅当某行的第4列大于第3列的相同行时。提前感谢您的帮助。
答案 0 :(得分:3)
迭代读者对象更简单。请尝试以下方法:
import csv
def main():
file1=open("filepath","r")
reader=csv.reader(file1)
for row in reader:
if row[3]<row[4]:
print ("troubling")
#... and so on
阅读器中的每一行都是一个列表,因此您可以使用适当的索引访问每一列。
答案 1 :(得分:2)
我认为错误是由于您使用变量&#39; i&#39;在循环内而不是行。 &#39; i&#39;的价值在循环中没有变化,因此每次都得到相同的结果。
for row in file1:
if row[3] < row[4]:
print("troubling")
elif row[3] < row[5]:
print("concerning")
else:
print("None")
我相信这可以解决你的问题。