如何比较CSV文件中的行与上一行?
我的if条件需要它:
if row[0] != row[0][of previous row]:
do something....
答案 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。