加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 如何快速匹配排序的两个文件的字段,但一个是另一个的

发布时间:2020-12-20 11:18:39 所属栏目:Python 来源:网络整理
导读:我有两个已排序的文件,并希望将它们合并为第三个,但我需要对输出进行排序.第二个文件中的一列是第一个文件的子集,第二个文件与第一个文件不匹配的任何位置都应填入NA.这些文件每个都很大(~20,000,000条)记录,因此将内容加载到内存中很困难,速度也是一个问题.
我有两个已排序的文件,并希望将它们合并为第三个,但我需要对输出进行排序.第二个文件中的一列是第一个文件的子集,第二个文件与第一个文件不匹配的任何位置都应填入NA.这些文件每个都很大(~20,000,000条)记录,因此将内容加载到内存中很困难,速度也是一个问题.

文件1看起来像这样:

1 a
2 b
3 c
4 d
5 e

文件2看起来像这样:

1 aa
2 bb
4 dd
5 ee

输出应该是这样的

1 a aa
2 b bb
3 c NA
4 d cc
5 e ee

解决方法

加入是你的朋友.

join -a 1 file1 file2

应该做的伎俩.与示例输出的唯一区别在于,无法使用的行直接从file1打印,即没有NA.

编辑:这是一个也处理NA的版本:

join -a 1 -e NA -o 1.1 1.2 2.2 file1 file2

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读