2014-11-06 3 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) 

Я пытаюсь иметь столбец «реф» слиться с «альт» («реф + альт» в последней строке), так что моя колонка будет состоят из столбцов «gg», «poss», «codee», «d [group] [poss-3]» и «ref» + «alt».

В колонке «ссылка» выглядит следующим образом:

A 
B 
C 

, а столбец «альт» имеет несколько букв, разделенных запятой:

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

0

You может использовать выражение: ','.join((v for v in (ref, alt) if v)), которое не укажет на команду, если ref или alt - None или пустая строка ''.

Смежные вопросы