这是我的密码。如果我打印变量,效果很好,但是如果我返回变量并尝试在其他地方打印它们,则只打印最后一个元素。你知道吗
def train_data(fname):
#load csv training files
with open (fname) as train:
reader = csv.DictReader(train, delimiter='\t')
for row in reader:
peptide=[row['peptide']]
allele=[row['allele']]
score=[row['score']]
#print(peptide, score, allele)
return [peptide, allele, score]
这是我的csv文件:
peptide score allele
AAAGAEAGKATTEEQ 0.190842 DRB1_0101
AAAGAEAGKATTEEQ 0.006301 DRB1_0301
AAAGAEAGKATTEEQ 0.066851 DRB1_0401
AAAGAEAGKATTEEQ 0.006344 DRB1_0405
AAAGAEAGKATTEEQ 0.035130 DRB1_0701
AAAGAEAGKATTEEQ 0.006288 DRB1_0802
AAAGAEAGKATTEEQ 0.176268 DRB1_0901
AAAGAEAGKATTEEQ 0.042555 DRB1_1101
AAAGAEAGKATTEEQ 0.114855 DRB1_1302
AAAGAEAGKATTEEQ 0.006377 DRB1_1501
AAAGAEAGKATTEEQ 0.006296 DRB3_0101
AAAGAEAGKATTEEQ 0.006313 DRB4_0101
AAAGAEAGKATTEEQ 0.070413 DRB5_0101
我试着把它印成这样:
if __name__=='__main__':
p, a, s = train_data('sample.txt')
print(s)
打印变量s将只打印分数变量。你知道吗
尝试:
如果您希望输出看起来像上面的csv文件:
你必须使肽、等位基因、得分在
With
范围外可见,否则你将始终得到[None,None,None]
数组:我猜你不想要
[row['allele']]
语句。你知道吗现在可以了!你知道吗
你只归还一件东西。尝试将内容放入列表并返回列表:
编辑
根据您在
__main__
中的用法,我修改了代码以返回三个不同的列表。你知道吗相关问题 更多 >
编程相关推荐