【问题标题】:python match chromosome number ignore X, Y, and MTpython匹配染色体数忽略X、Y和MT
【发布时间】:2018-04-08 14:10:35
【问题描述】:

我正在 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 中通过混合整数和字符的列进行查询的帮助或说明。

【问题讨论】:

  • 何不试试if '9' == line[2]:

标签: python csv genetics


【解决方案1】:

你应该用 try/except 包围你的整数转换,这样你就可以捕捉到 ValueError

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

这行得通:)

【讨论】:

    猜你喜欢
    • 2022-11-12
    • 2013-09-30
    • 2014-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-11
    • 1970-01-01
    相关资源
    最近更新 更多