当重复多个列时,按一个指定列合并1000个CSV文件

时间:2014-07-08 16:18:30

标签: python r csv merge

我需要合并多个CSV文件,每个文件看起来都像下面的摘录(文件大小各约170 Kb)。在每种情况下,前3列在每个CSV文件中都是相同的。我想生成一个合并的CSV文件,根据第一列" mrID"的信息进行合并。 (在所有文件chrpos中也是共同的下两列,对于以后的行来说不是好的/不唯一的标识符)。我想让最终的合并文件只包含这个标识符" mrID"第一行中的一次,然后使用列标题" sum"从每个CSV文件中获得最后一行。

mrID    chr pos main    GxE epi sum
cA  2   0   0   4   1   5
cB  2   5   3   2   1   6
cC  2   10  2   0   2   4

最后,合并后的文件应如下所示:

mrID    sumCSV1 sumCSV2
cA  5 3
cB  6 4
cC  4 7

我搜索并找到了一些选项" cat"用于合并文件,但我的实现使它在合并的CSV文件中添加了新行,并且还搞砸了一些订单。

如果它会简化合并,我可能会改变我的1000个CSV文件以省略不必要的列(ie, delete columns chr/pos/main/GxE/epi).

我也根据" Merge multiple csv's using python"的结果进行了一些尝试。但是我收到了语法错误,并想知道我是否将该问题的代码修改为list_of_files = ['*.csv']而不是命名csvs(但使用1000 csvs是否有效,我不想在python代码中将它们全部命名。)

提前谢谢!我对Python缺乏经验,但是在考虑这个问题时,R可能是太多的数据;我在R中有一点经验,但即使主要是在数据解析中运行stats包/更少。

0 个答案:

没有答案