我试图在python3中合并两个单元格。我很感激任何意见。
以下是我脚本的一部分:
with open(input) as infile, open (output, 'w') as outfile:
reader = csv.reader(infile, delimiter='\t')
writer = csv.writer(outfile, delimiter='\t')
for gg, poss, codee, ref, alt, *rest in reader:
gg = int(gg)
poss = int(poss)
writer.writerow([gg, poss, codee, d[group][poss-1], "ref+alt"] + rest)
我正在尝试将列“ref”与“alt”(最后一行中的“ref + alt”)合并,因此我的列将包含列“gg”,“poss”,“codee”,“ d [group] [poss-3]“,和”ref“+”alt“。
“ref”列如下:
A
B
C
而“alt”列有多个以逗号分隔的字母:
A,B
C,D,H
B,F,S
写下最后一行的正确方法是什么,以便“ref”和“alt”像这样合并?
A,A,B
B,C,D,H
C,B,F,S
答案 0 :(得分:1)
"ref+alt"
只是字符串ref+alt
,但实际上并没有评估这些变量(它确实不应该)。如果要连接两个字符串,可以对这些变量使用+
运算符:
ref + alt
如果你想在两者之间插入一个逗号,你也可以添加:
ref + ',' + alt
答案 1 :(得分:0)
您可以使用以下表达式:','.join((v for v in (ref, alt) if v))
如果ref
或alt
为None
或空字符串''
,则会遗漏该命令。< / p>