我向您展示了我需要用我的数据做的一个示例。我有两个由tab分隔的文本文件。在bash中将数据粘贴在一起
cat in1.tsv
111 A B C
111 D E F
111 G H I
222 A B C
333 A B C
333 D E F
该表格可以有大约数千行。列数小于100.第一列可以具有重复的值(如111和333)。
cat in2.tsv
111 a b c
222 a b c
333 d e f
在此文件中只出现一次列1中的值。我需要根据第一列匹配合并这两个文件。
cat output.tsv
111 A B C 111 a b c
111 D E F 111 a b c
111 G H I 111 a b c
222 A B C 222 a b c
333 A B C 333 d e f
333 D E F 333 d e f
我的解决办法工作,如果矩阵的大小都是一样的:
paste <(sort in1.tsv) <(sort in2.tsv) > output.tsv
我欣赏的awk,bash或的作品快很多行的另一个程序的任何帮助。
这是通过在Python或R中使用pandas模块看起来可以解决的问题。如果需要缩放,可能转到Dask(另一个Python库)。 –
感谢您的评论。我首先想到使用一些awk或bash解决方案,因为我对python不是很熟悉。 – Geroge