python匹配染色体数忽略X、Y和MT

2024-05-21 00:46:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在linux集群上使用python3。我在处理表中的染色体数目时遇到了问题

我有以下csv(example.csv)

1,2,x
3,4,mt
5,6,9
7,8,y

我想打印第3列中包含值9的所有行

这是我的尝试

import csv
with open('example.csv', 'rb') as f:
    for line in csv.reader(f):
        if 9 == int(line[2]):
            print(line)

如果我包含int,它会由于MT、Y和X值的存在而失败。但是如果我排除int,它不会找到9

任何关于如何在python中查询混合整数和字符的列的帮助或澄清都是非常感谢的


Tags: csvimportexamplelinuxwithline集群open
1条回答
网友
1楼 · 发布于 2024-05-21 00:46:31

您应该用try/except包围整数强制转换,以便捕获值错误

import csv
with open('example.csv', 'rb') as f:
    for line in csv.reader(f):
        try:
            if 9 == int(line[2]):
                print(line)
        except ValueError:
            pass

这是有效的:)

相关问题 更多 >