사전에 제목이있는 2 열 (color number_of_occurances) .tsv 파일을 분석하려고합니다. 가능하면 가장 일반적인 방법으로 제목 줄을 건너 뛰려고합니다 (두 번째 열을 int 유형으로 지정해야한다고 가정). 다음은 내가 가지고 올 것 중에 최고,하지만 더 나은이 있어야한다 보인다 :Python : 다른 유형의 변수를 사용하여 파일에서 행 읽기
filelist = []
color_dict = {}
with open('file1.tsv') as F:
filelist = [line.strip('\n').split('\t') for line in F]
for item in filelist:
try: #attempt to add values to existing dictionary entry
x = color_dict[item[0]]
x += int(item[1])
color_dict[item[0]] = x
except: #if color has not been observed yet (KeyError), or if non-convertable string(ValueError) create new entry
try:
color_dict[item[0]] = int(item[1])
except(ValueError): #if item[1] can't convert to int
pass
가 할려고하고 예외를 처리하는 더 좋은 방법이 있어야처럼 보인다. 요청에 의해
파일 발췌 :
color Observed
green 15
gold 20
green 35
입력 파일의 샘플을보고 도움이 될 것입니다 ... 당신이 사용하고 왜 – thebjorn
'항목 [2]'대신'항목 [1]'의? 탭에서 탭으로 구분 된 행을 분할하면 2 개의 요소 목록 만 제공하게됩니다. –
헤더는 항상 한 줄입니까? 그렇다면 목록 작성 전에 'next (F)'를 입력하십시오. (물론 목록 작성이 모두 필요하다고 확신하지는 않습니다. 왜냐하면 당신이하는 일은 목록 전체에서 반복되는 것 같습니다.) –