2014-09-17 6 views
-2

첫 번째 파일을 입력으로 사용하고 세 번째 파일로 출력하여 두 번째 파일에서 줄의 발생을 검색하고 싶습니다. 또한 그것은 빠르지 만 두 번째 파일은 200k 이상이며 첫 번째 파일은 75k 이상입니다.첫 번째 파일에서 첫 번째 파일을 검색하고 파이썬에서 세 번째 파일로 출력합니다.

**FILE 1** 
1234 
2324 
534 
235 
1 
643 

**FILE 2** 

643, 30, , , People, [email protected],..... 
1234, 45, , , People, [email protected],..... 
643, 32, , , People, [email protected],..... 
4536, 654, , , People, [email protected],..... 
898, 354, , , People, [email protected],..... 

**FILE 3** 
643, 30, , , People, [email protected],..... 
1234, 45, , , People, [email protected],..... 

그게 전부입니다. 미리 감사드립니다.

+0

Google과 공유 할 수있는 코드가 있습니까? – skrrgwasme

+0

공유 할 코드가 없습니다. 나는 파이썬으로 그다지 좋지 않다. – Kanamania

+0

그래서 이런 질문을 올릴 곳이 아니다. 프로그래밍에 관한 특정 질문을하거나 코드를 작성하지 않기위한 것입니다. Celeo가 답변을 게시했지만 매번 이런 일이 일어날 것을 예상해서는 안되며 원하는 스크립트 나 프로그램에 대한 일련의 요구 사항에 대한 설명 인 "질문"을 묻지 않도록해야합니다. – skrrgwasme

답변

0

첫 번째 파일에서 ID를 읽고 두 번째 파일의 행을 사용하여 시작 번호가 수집 한 ID 목록에 있는지 확인하십시오. 일치 항목을 목록에 추가하고 세 번째 파일에 목록을 작성하십시오.

ids = [] 
with open('file1') as f: 
    ids.extend(id.strip() for id in f) 
matches = [] 
with open('file2') as f: 
    for line in f: 
     if line.split(',')[0] in ids: 
      matches.append(line) 
with open('file3', 'w') as f: 
    for match in matches: 
     f.write(match) 
+0

고마워. 귀하의 솔루션이 작동합니다. – Kanamania

관련 문제