我将尝试使用Pandas数据框比较两个CSV文件。其中一个是主表(test_master.csv),每天都会向其追加数据;另一个是每日报告(test_daily.csv),包含我想要添加到test_master.csv的数据。
我从这些文件中创建了两个Pandas数据框:
我希望将每日清单与主清单进行比较,以查看每日清单中是否存在已在主清单中的重复行。如果有,则要从dfdaily中删除重复项。然后,我想将这些非重复数据写入dfmaster。
重复数据始终是整个行。我的计划是逐行遍历工作表进行比较。
我意识到我可以将每日数据附加到dfmaster数据框中,并使用drop_duplicates来删除重复项。但我无法弄清楚如何删除dfdaily数据框中的重复项。而且我需要能够将dfdaily数据写回test_daily.csv(或另一个新文件),不包括重复数据。
以下是数据框可能的示例。
test_master.csv
期望的输出是:
test_master.csv
我从这些文件中创建了两个Pandas数据框:
import pandas as pd
dfmaster = pd.read_csv(test_master.csv)
dfdaily = pd.read_csv(test_daily.csv)
我希望将每日清单与主清单进行比较,以查看每日清单中是否存在已在主清单中的重复行。如果有,则要从dfdaily中删除重复项。然后,我想将这些非重复数据写入dfmaster。
重复数据始终是整个行。我的计划是逐行遍历工作表进行比较。
我意识到我可以将每日数据附加到dfmaster数据框中,并使用drop_duplicates来删除重复项。但我无法弄清楚如何删除dfdaily数据框中的重复项。而且我需要能够将dfdaily数据写回test_daily.csv(或另一个新文件),不包括重复数据。
以下是数据框可能的示例。
test_master.csv
column 1 | column 2 | column 3 |
+-------------+-------------+-------------+
| 1 | 2 | 3 |
| 4 | 5 | 6 |
| 7 | 8 | 9 |
| duplicate 1 | duplicate 1 | duplicate 1 |
| duplicate 2 | duplicate 2 | duplicate 2
test_daily.csv
+-------------+-------------+-------------+
| column 1 | column 2 | column 3 |
+-------------+-------------+-------------+
| duplicate 1 | duplicate 1 | duplicate 1 |
| duplicate 2 | duplicate 2 | duplicate 2 |
| 10 | 11 | 12 |
| 13 | 14 | 15 |
+-------------+-------------+-------------+
期望的输出是:
test_master.csv
+-------------+-------------+-------------+
| column 1 | column 2 | column 3 |
+-------------+-------------+-------------+
| 1 | 2 | 3 |
| 4 | 5 | 6 |
| 7 | 8 | 9 |
| duplicate 1 | duplicate 1 | duplicate 1 |
| duplicate 2 | duplicate 2 | duplicate 2 |
| 10 | 11 | 12 |
| 13 | 14 | 15 |
+-------------+-------------+-------------+
test_daily.csv
+----------+----------+----------+
| column 1 | column 2 | column 3 |
+----------+----------+----------+
| 10 | 11 | 12 |
| 13 | 14 | 15 |
+----------+----------+----------+
非常感谢您的帮助!
编辑
我最初错误地认为来自集合差异问题的解决方案可以解决我的问题。 我遇到了某些情况,其中那些解决方案无法正常工作。 我相信这与索引编号标签有关,如Troy D在下面的评论中提到的。 Troy D的解决方案是我现在正在使用的解决方案。