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

时间:2016-04-21 12:24:52

标签: python csv data-analysis

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

我的if条件需要它:

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

2 个答案:

答案 0 :(得分:2)

这个程序可以做你想要的:

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和iterator检查每一行。如果他们是平等的,我打电话给do_something()方法,如果他们不相等,那就去了下一行。

答案 1 :(得分:0)

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