我想合并两个csv文件,如下所示:
csv1:
formula,solver,runtime,conflicts
CBS_k3_n100_m403_b30_13.cnf,SWDiA5BY,0.001842,318
CBS_k3_n100_m403_b30_13.cnf,glucose,0.001842,318
csv2:
^{pr2}$期望输出:
formula,solver,runtime,conflicts,entropy,solutions
CBS_k3_n100_m403_b30_13.cnf,SWDiA5BY,0.001842,318,0.202,707286
CBS_k3_n100_m403_b30_13.cnf,glucose,0.001842,318,0.202,707286
所以我在两个字典(csv)的键之间做了一个交集,并使用了列表理解
keysA = set(dict1.keys())
keysB = set(dict2.keys())
keys = keysA & keysB
...
[[key] + dict1.get(key, []) + dict2.get(key, []) for key in keys]
但是有一些“重复”行(我需要),其中field公式是相同的,但是field解算器不同,我的输出是:
formula,solver,runtime,conflicts,entropy,solutions
CBS_k3_n100_m403_b30_13.cnf,SWDiA5BY,0.001842,318,0.202,707286
如何使用列表理解保持这些行?或者以任何其他方式
感谢你的帮助
编辑-添加了一个示例
你为什么不用熊猫呢。在熊猫身上很容易做到这一点
您还可以使用
result=df1.merge(df,on="formula",how="outer")
来保留csv中一个有而另一个没有的公式相关问题 更多 >
编程相关推荐