您好我正在尝试编写一个python3脚本,该脚本将删除其他列中的值。
例如:
A A,B,C
T H,D,T
H A,H,D,C
将是:
A B,C
T H,D
H A,D,C
假设这些是我的数据表的第4(ref)和第5(alt)列 我写了以下代码:
with open(two) as infile, open (three, 'w') as outfile:
reader = csv.reader(infile, delimiter='\t')
writer = csv.writer(outfile, delimiter='\t')
for g, pos, code, ref, alt, *rest in reader:
a = alt.split(',')
if a == ref:
writer.writerow([g, pos, code, ref, [alt-ref]] + rest)
if a != ref:
writer.writerow([g, pos, code, ref, alt] + rest)
所以我打算这样写 如果“ref”中的字母等于“alt”中的任何分割字符串,则该值将从“alt”中删除并导出。 如果不是,则按原样导出行。 [alt-ref]似乎不起作用。
有人可以帮我完成此代码吗? 我很感激你的帮助。
答案 0 :(得分:0)
你应该使用类似的东西,
[x for x in alt if x != ref]
创建没有值ref`
的新列表