【发布时间】:2021-01-20 06:34:36
【问题描述】:
我有 12 个 CSV 文件,我正在尝试将它们合并为一个 CSV 文件。在这 12 个文件中,每一个文件中都有一列 SendID。 SendID 是唯一的,不应在最终合并的 CSV 文件中重复。例如,我的 12 个 CSV 文件中有四个具有这些列。
(File 1: A,B,C,D,E), (File 2: A,C,F,H,K), (File 3: A,B,D,H,L), (File 4: A,D,H,N,Q)
因此,A 列存在于每个 CSV 文件中,并作为唯一的标识列或主键,不应在最终的 CSV 文件中重复。在某些情况下,同一列可能会出现在多个 CSV 文件中,如果这些列通过相同的SendID 连接(或上例中列出的 A 列),则这些列在每个文件中将带有相同的值。
这些文件还可能具有仅存在于单个 CSV 文件中且不存在于任何其他文件中的不同列,同样,此列将附加到 SendID 主键列上的最终聚合行。列中也可能有一些行,它们不会为许多 CSV 文件中的每条SendID 记录携带一个值。因此,基于唯一 SendID 的一行可能有 K 列的值,但 Q 列没有值。在这种情况下,该记录的 Q 列的值为 NULL 或空。
如何使用 Python 和 Pandas 将这 12 个 CSV 文件转换为一个最终的 CSV 文件,其中不包含重复的 SendID 记录?同时还能够将不同文件中的所有不同列附加到 SendID 主键,为每个唯一的 SendID 记录形成一个聚合行,当然不会创建可能出现在多个 CSV 文件中的同一列的重复项。我提前道歉,因为我知道这有点冗长,但我对 python 还是很陌生,并且正在努力学习。
【问题讨论】:
标签: python python-3.x pandas dataframe csv