我想在一个表上做一些简单的数据库操作而不必使用数据库软件,例如,我可以使用GitHub的“filo”包来做一些类似于“groupby”函数的事情。我想知道有没有类似的东西来实现一些简单的“连接”功能?或者我可以用Python或Bash来实现它?具体来说,我有一张这样的桌子:
Col5a2 NM_007737 chr1 - 45447828 45447829
Slc40a1 NM_016917 chr1 - 45870140 45870141
Gm3852 NM_001177356 chr1 - 45956809 45956810
Slc39a10 NM_172653 chr1 - 46798055 46798056
Obfc2a NM_028696 chr1 - 51422944 51422945
Myo1b NM_001161817,NM_010863 chr1 - 51860519 51860520
.
.
.
我有一张单子
Slc40a1
Myo1b
Col5a2
Obfc2a
.
.
.
我想从表中提取列表中的项目,以便得到:
Slc39a10 NM_172653 chr1 - 46798055 46798056
Myo1b NM_001161817,NM_010863 chr1 - 51860519 51860520
Col5a2 NM_007737 chr1 - 45447828 45447829
Obfc2a NM_028696 chr1 - 51422944 51422945
.
.
.
如果只对表的第一列进行非常简单的查找,那么python
dict
可能就足够了。你知道吗像这样建造:
然后,您可以使用列表来“加入”此词典:
或者,如果第二个列表也是一个数据文件,则可以执行以下操作:
使用两个标准unix工具
join(1)
和sort(1)
确实可以实现这一点:需要调用
sort
,因为(从join man page):更新:受this answer启发的解决方案,保持秩序:
这里有一种使用
awk
的方法:或使用格式:
结果:
说明:
相关问题 更多 >
编程相关推荐