我有一个函数可以在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)
答案 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语句不起作用。