我向您展示了我需要用我的數據做的一個示例。我有兩個由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