如何比较 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()
方法,如果它们不相等,它就转到下一行。
如何将 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()
方法,如果它们不相等,它就转到下一行。