如何比较 CSV 中的行与上一行?

How to compare row to previous row in CSV?

如何将 CSV 文件中的一行与上一行进行比较?

我的 if 条件需要它:

if row[0] != row[0][of previous row]:
    do something....

Pandas 是处理 csv 的好工具。在这种情况下,如果您要比较整数,则可以使用 diff()。当行相等时,diff() 将等于 0。这可以应用于整个数据框,如 df.diff() 或应用于特定系列(一列),如 df.column_name.diff()df['column_name'].diff() .您甚至可以获取列之间的差异或更改周期来计算差异,请查看文档 here.

这个程序做你想做的事:

import csv

f = open("some.csv", "r+")
ff = csv.reader(f)

pre_line = ff.next()
while(True):
    try:
        cur_line = ff.next()
        if pre_line == cur_line:
            pass #replace pass with do_something()
        pre_line = cur_line
    except:
        break

正如你在上面看到的,我遍历了 csv 文件中的行,并用之前的 using 和迭代器检查了每一行。如果它们相等,我调用 do_something() 方法,如果它们不相等,它就转到下一行。