. 내가 파이썬에서 초심자를 그리고 난 할 사투를 벌인거야 다음Python - 라인에서 문자를 구분하는 파일 비교.
EgrG_000095700 /product="ubiquitin carboxyl terminal hydrolase 5"
EgrG_000095800 /product="DNA polymerase epsilon subunit 3"
EgrG_000095850 /product="crossover junction endonuclease EME1"
EgrG_000095900 /product="lysine specific histone demethylase 1A"
EgrG_000096000 /product="charged multivesicular body protein 6"
EgrG_000096100 /product="NADH ubiquinone oxidoreductase subunit 10"
이 하나 (600 선) :
나는이 (+ 10,000 선)과 같은 파일이 있습니다 :
EgrG_000076200.1
EgrG_000131300.1
EgrG_000524000.1
EgrG_000733100.1
EgrG_000781600.1
EgrG_000094950.1
두 번째 파일의 모든 ID가 첫 번째 파일에 있으므로 첫 번째 파일의 ID가 두 번째 파일의 ID와 일치해야합니다.
나는 다음과 같은 스크립트를 작성 : 내 생각은 새 파일에 라인을 작성, 아이디의이 후, 다른 하나 개의 파일의 EgrG_XXXX 일치하도록 각 행에 문자를 구분 검색하는 것이 었습니다f1 = open('egranulosus_v3_2014_05_27.tsv').readlines()
f2 = open('eg_es_final_ids').readlines()
fr = open('res.tsv','w')
for line in f1:
if line[0:14] == f2[0:14]:
fr.write('%s'%(line))
fr.close()
print "Done!"
. 나는 약간의 수정을 시도했다, 그것은 나의 아이디어의 "핵심"이다. 나는 아무것도 얻지 못했다. 수정 중 하나에서 나는 한 줄을 얻었다.
두 번째 파일의 줄은 항상'.1'로 끝 맺습니까? – albert
그래서'egranulosus_v3_2014_05_27.tsv'의 내용을'eg_es_final_ids'의 순서로 정렬하고 있습니까? – roganjosh
예, 두 번째 파일의 모든 행은 .1로 끝납니다. –