【发布时间】:2022-01-02 05:00:17
【问题描述】:
我已从 .csv 文件中读取所有行,如下所示:-
from csv import reader, writer
# open file in read mode
with open('data.csv', 'r') as read_obj:
# pass the file object to reader() to get the reader object
csv_reader = reader(read_obj)
# Iterate over each row in the csv using reader object
for row in csv_reader:
现在,我尝试仅比较 csv 文件中每一行的最后一列。 csv文件中的数据是这样的:-
Row 1: 0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,1
Row 2: 0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,0
Row 3: 0,1,0,1,1,1,0,1,0,0,1,0,0,0,1,1,1,0,1,0,0,0,1
Row 4: 0,1,0,1,1,1,0,1,0,0,1,0,0,0,1,1,1,0,1,0,0,0,1
Row 5: 0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,0
我只需要比较每一行最后一列的 1 和 0。在最后一列中,如果第一行有 1,第二行有 0,则打印第一行。
例如 1:
Row 1: 0,0,1,1
Row 2: 0,1,1,0
然后,我打印第 1 行
对于前 2:
Row 1: 0,0,1,1
Row 2: 0,1,1,1
Row 3: 0,1,1,0
然后,我打印第 2 行
对于这个问题的任何建议将不胜感激。谢谢!
【问题讨论】:
-
示例 CSV 的最终输出应该是什么样的?从我阅读您的提示的方式来看,倒数第二列中没有 1,因此最后一列将保持不变。
-
@ZachYoung 我只需要比较每一行的最后一列的 1 和 0。在最后一列中,如果第一行有 1,第二行有 0,那么我们打印第一行。
-
所以只打印了一行?如果该行在最后一列中为 1,并且最后一行在最后一列中为 0,则将打印倒数第二行?
-
在大例子中,只打印第 5 行?