2014-11-06 7 views
0

파이썬 3에서 두 셀을 병합하려고합니다. 나는 어떤 의견을 주셔서 감사하겠습니다. 그래서 내 열 것,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를") "고도"로 병합 할 열 "심판"이 노력하고 있어요 : 여기

내 스크립트의 일부입니다 "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

당신을 ','.join((v for v in (ref, alt) if v)) 표현식을 사용하면 ref 또는 altNone이거나 빈 문자열 '' 인 경우 명령을 생략 할 수 있습니다.

관련 문제