如何比较csv文件中的两行?

时间:2019-07-22 20:42:31

标签: python pandas csv

我有一个data.csv文件,其外观如下。

-1.95e+01   -2.30e-01   -2.56e-01   4.44e+01
-1.95e+01   -2.30e-01   -7.68e-01   4.48e+01
-2.00e+01   -2.30e-01   -2.56e-01   3.41e+01
-2.00e+01   -2.30e-01   -7.69e-01   3.46e+01
-2.10e+01   -9.92e+00   1.00e+01    9.66e+01
-2.10e+01   -9.92e+00   2.30e+00    4.29e+01

我想拥有一个result.csv文件,以便如果第一列中的值相同,则获取前四列(有4列)中的所有数据并将其保存在{{ 1}}文件。然后是下一个相等的值,并将其保存在接下来的四列中。例如,我的result.csv应该看起来像

result.csv

我最基本的尝试如下:

-1.95e+01 -2.30e-01 -2.56e-01 4.44e+01 | -2.00e+01 -2.30e-01 -2.56e01 3.41e+01 | -2.10e+01 -9.92e+00 1.00e+01 9.66e+01
-1.95e+01 -2.30e-01 -7.68e-01 4.48e+01 | -2.00e+01 -2.30e-01 -7.69e-01 3.46e+01 | -2.10e+01 -9.92e+00 2.30e+00 4.29e+01

1 个答案:

答案 0 :(得分:0)

您的逻辑观点上有一个小缺陷:您必须先读取该值,然后才能与“下一个值”进行比较。切换逻辑,以便将上一行保留在单独的strict_types=1变量中。然后查看当前行是否与上一行匹配;如果是这样,请收集数据并在需要时附加。如果不是,则将刚刚读取的行“旋转”为prev_row,然后循环返回以从输入文件中获取下一行。