Pandas,dataframe并在Python中创建错误消息

时间:2018-03-07 16:24:52

标签: python python-3.x function pandas csv

我有一个函数可以在csv数据库文件中搜索疾病(例如黑色素瘤)。然后,该函数将生成与文件中的疾病名称匹配的基因符号列表。但是,我想创建一个错误消息,如果在文件中找不到疾病(例如Epilepsy不在数据库中),将会生成错误消息。下面是我的代码(包括不起作用的if语句)。我真的很感激任何帮助!

disease='melanoma'

input_file="curated_gene_disease_associations.tsv" 


def select_disease_df(input_file,disease):
    df=pd.read_csv(input_file, sep='\t')
    selection=df['diseaseName']==disease
        if disease not in df['diseaseName']:
            raise Exception("Disease not found in database")
    my_list=(df[selection]['geneSymbol']).tolist() 
return(my_list)

1 个答案:

答案 0 :(得分:0)

如果你想保留相同的代码,我会做类似的事情:

def select_disease_df(input_file, disease):
    df = pd.read_csv(input_file, sep='\t')
    selection = df['diseaseName'] == disease
    if sum(selection) == 0:
        print('Disease not found in the database')
        return []
    else:
        my_list = (df[selection]['geneSymbol']).tolist()
        return my_list

如果您不发布某些数据,很难理解为什么if语句不起作用。