1
아래에 언급되었지만 원하는 것을 반환하지 않은 파이썬 코드 조각이 있습니다. 이 예제와 같은 파일 :파이썬을 사용하여 필터링하는 중 오류가 발생했습니다.
AAAS,ENST00000552161,1.70232E-30
AAAS,ENST00000548258,1.09222E-84
AAAS,ENST00000549450,1.3171E-108
AAAS,ENST00000209873,22.3297
AAAS,ENST00000546562,0.170807
AAAS,ENST00000394384,5.53609
AAAS,ENST00000547238,0.829774
AACS,ENST00000316543,0.49901
AACS,ENST00000261686,2.41428
I 첫 번째 열에는 반복되는 항목이 많이 있습니다. 나는 세 번째 칼럼에 기초한 것 중 하나만 선택하고 싶다. 다음 행과 같은 :
import csv
from collections import defaultdict
with open('data.csv', newline='') as f, open('out.csv', 'w', newline='') as out:
f_reader = csv.reader(f)
out_writer = csv.writer(out)
d = defaultdict(list)
for line in f_reader:
d[line[1]].append(line)
for _,v in d.items():
new_line = sorted(v, key=lambda i:float(i[2]), reverse=True)[0]
out_writer.writerow(new_line)
당신은 문제가 무엇인지 알고 :
AAAS,ENST00000209873,22.3297
AACS,ENST00000261686,2.41428
이 코드는?
'new_line' 당신이 그것을 통과 할 때 문자열의 목록입니다'나는 아직도 그것을 모두 바꿈 = ''하지만 제거 –
을 writerow' 나에게 모든 반복을 주었다. – ARM
아니, 나는 마지막 루프'new_line'에서 당신의 변수를 의미했다. –