2014-11-06 78 views
0

我想將兩個單元格合併在python3中。我會很感激任何輸入。如何合併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) 

我想有列「裁判」與「ALT」合併(在最後一行的「參考+ ALT」),所以我列將由列「gg」,「poss」,「codee」,「d [group] [poss-3]」和「ref」+「alt」組成。

「參考」一欄的樣子:

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 

回答

1

"ref+alt"只是字符串ref+alt,但它實際上並沒有評估這些變量(它確實不應該)。如果你想連接兩個字符串,你可以使用這些變量的+操作:

ref + alt 

如果你想插入中間用逗號分隔,也可以加上一句:

ref + ',' + alt 
+0

謝謝你的回答 – user3546860 2014-11-06 22:18:02

0

你可以使用表達式:','.join((v for v in (ref, alt) if v)),如果refaltNone或空字符串'',將會省略命令。