두 CSV 파일을 비교하고 특정 값을 찾기 위해 검색하려고합니다. 아래 예.Python : 두 CSV 목록 비교
FILE ONE
이름, 성, 나이
존, 미상, 45
제인, 미상, 34
로버트, 성스러운 일격, 27
밥 , 화이트, 56
,캐리, 우즈, 28
FILE 두
FIRSTNAME
로버트
제인
스크립트 파일에서 검색하는 파일 두의 FIRSTNAME 열을 사용한다
는 하나의 이름 열 및 나이 반환 내 코드는 로버트를 출력 34
결과 로버트, 27 제인, (27)는 제인의 두 번째 행을 검색 할 계속되지 않습니다. While 루프를 사용해 보았는데 성공하지 못했습니다. 어떤 도움을 주시면 감사하겠습니다! 감사!
참고로, 나는 10k 행 이상인 파일을 통해 50 개 이상의 항목을 검색합니다. 다음은
코드 :
import csv
FileOne = open('/FileOne')
FileOneReader = csv.DictReader(FileOne)
FileTwo = open('/FileTwo')
FileTwoReader = csv.DictReader(FileTwo)
for row in FileTwoReader:
for row2 in FileOneReader:
if row['FirstName'].lower() in row2['FirstName'].lower():
print 'Name:' + row['FirstName'] + ' Age: ' + row2['Age'].lower()
이유입니다. 두 번째 반복에서 파일 중 하나가 모두 소진됩니다. 목록에 데이터를 저장하고 그런 식으로 확인해야합니다. – Abdou
CSV 파일이 용의성이 있습니다. [CSV 형식 정의] (https://tools.ietf.org/html/rfc4180#section-2)를 참조하십시오. row2 [ 'FirstName']. lower() :'이 경우'row [ 'FirstName']. lower() == row2 [ 'FirstName']의 경우이 행을 ' .lower() :'데이터를 정리 한 직후. –