我是Python的新手,所以对我宽容点!
我只是试图比较两个列表中的值,并以yes
或no
的形式得到它们的输出。
图示为CSV
文件,该文件将值存储在:
我的代码如下所示:
import csv
f = open("datatest.csv")
reader = csv.reader(f)
dataListed = [row for row in reader]
rc = csv.writer(f)
column1 = []
for row in dataListed:
column1.append(row[0])
column2 = []
for row in dataListed:
column2.append(row[1])
for row in dataListed:
if (column1) > (column2):
print ("yes,")
else:
print("no,")
当前,输出只是no, no, no, no, no ...
,而根据值它不应该是这样!
我将在下面展示我所尝试的,任何帮助都将是巨大的。
3条答案
按热度按时间ecr0jaav1#
这个循环每次都比较相同的
column1
和column2
变量,这些变量永远不会改变。代码并没有神奇地知道
column1
和column2
实际上意味着“当前行的第一列”和“当前行的第二列”。你的意思大概是这样的:
......因为这实际上在每次循环迭代中都使用
row
的当前值。pexxcrt22#
您可以简化代码并获得预期的结果,如下所示:
对于您在图像中发布的示例
CSV
,输出如下:qnakjoqk3#
在这里你可以得到一个简单的替代方案为您的程序