【发布时间】:2015-12-13 16:51:20
【问题描述】:
我有几个 csv 文件(都在一个文件夹中),它们有共同的列,但也有不同的列。它们都包含 IP 列。数据看起来像
文件_1.csv
a,IP,b,c,d,e
info,192.168.0.1,info1,info2,info3,info4
文件_2.csv
a,b,IP,d,f,g
info,,192.168.0.1,info2,info5,info6
如您所见,文件 1 和文件 2 对 d 列的内容存在分歧,但我不介意它保存信息的文件来自哪个文件。我已经尝试过 pandas.merge ,但是这会返回 192.168.0.1 的两个单独条目,其中 NaN 在文件 1 中的列中而不是在文件 2 中,反之亦然。有谁知道这样做的方法吗?
编辑 1:
所需的输出应如下所示:
输出
a,IP,b,c,d,e,f,g
info,192.168.0.1,info1,info2,info3,info4,info5,info6
我希望所有行的输出都像这样,而不是文件 1 中的每个项目都在文件 2 中,反之亦然。
编辑 2:
文件 1 中存在但文件 2 中不存在的任何 IP 地址在输出文件的任何唯一列中都应具有空白或不可用值。例如,在输出文件中,对于文件 1 中存在但文件 2 中不存在的 IP 地址,f 列和 g 列将为空。类似地,对于文件 2 中而不是文件 1 中的 IP,c 列和 e 列将为空在输出文件中。
【问题讨论】:
-
能否包含您希望输出合并后的样子?
-
已编辑以包含所需的输出
-
我已经修复了 6 列和 5 个值,我想保留所有信息,所以 a 和 b 必须保留
-
两个文件的IP地址是否相同?
-
不是每个条目,但有些是