다음과 같은 줄이있는 탭으로 구분 된 파일이 있습니다.
foo bar bar <tab>x y z<tab>a foo foo
...
한 줄에 최대 200 개의 단어가있는 1,000,000 줄을 상상해보세요. 각 단어는 평균 5-6 자입니다.
두 번째 및 세 번째 열에 다음을 수행 할 수 있습니다.
with open('test.txt','r') as infile:
column23 = [i.split('\t')[1:3] for i in infile]
또는 유닉스를 사용할 수 있습니다 . bash의 탭 delim 파일에서 두 번째 및 세 번째 열을 어떻게 얻을 수 있습니까?
import os
column23 = [i.split('\t') os.popen('cut -f 2-3 test.txt').readlines()]
어느 것이 더 빠릅니까? 두 번째 및 세 번째 열을 추출하는 다른 방법이 있습니까?
둘 다 사용하지 마십시오. 너무 느리다는 것이 증명되지 않는 한 csv
훨씬 더 읽기 쉬운 모듈을 사용하십시오 .
import csv
with open('test.txt','r') as infile:
column23 = [ cols[1:3] for cols in csv.reader(infile, delimiter="\t") ]
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다