你好,我是python新手,希望你能帮助我。我有一个文本文件(称之为数据.txt)利用基因数与相应的rs数和一定的距离测度。数据如下:
rs1982171 55349 40802
rs6088650 55902 38550
rs1655902 3105 12220
rs1013677 55902 0
其中第一列是rs数,第二列是基因数,第三列是某种距离测度。数据要大得多,但希望上面的内容能让您了解数据集。我要做的是找到与某个基因相对应的所有rs数。例如,对于上面的数据集,基因55902={rs6088650,rs1013677}。理想情况下,我希望我的代码能找到与给定基因对应的所有rs数。因为我现在无法做到这一点,所以我编写了一个简短的代码,它给出了包含字符串“55902”的行数据.txt文件:
^{pr2}$此代码的问题是输出如下:
rs6088650 55902 38550
rs1655902 3105 12220
rs1013677 55902 0
我希望我的代码忽略rs号中的字符串“55902”。换句话说,我没有我的代码来输出上面输出的第二行,因为基因数不是55902。我希望我的输出是:
rs6088650 55902 38550
rs1013677 55902 0
如何修改上面的代码来实现我想要的。任何帮助都将不胜感激。提前谢谢。在
使用更强大的正则表达式可以很容易地做到这一点。一种可能的快速解决方案是使用以下形式的正则表达式:
\b
是单词的边界。在您可以使用word boundary (^{}) ,以匹配整个单词搜索:
^{pr2}$
这里不需要正则表达式,因为您只需要一个简单的静态序列。这条线:
可以表达为:
^{pr2}$如果只想检查第二列,请先拆分行:
由于您现在已经检查了正确的列,请检查相等性而不是成员身份:
相关问题 更多 >
编程相关推荐