다음은 동일한 구조의 두 개의 csv 파일(A와 B)입니다. 둘 다 KEY_A, KEY_B, KEY_C를 기본 키로 사용하며 서로 다른 레코드를 가지고 있습니다.
Java를 사용하여 세 가지 방법으로 두 파일을 비교하고 결과를 각각 새 csv 파일에 씁니다. 1. 기본 키가 같고 다른 필드의 값이 같지 않은 레코드를 찾아서 기본 키를 출력한 다음 A의 다른 필드와 B의 다른 필드를 출력합니다. 예상 결과는 다음과 같습니다.
세 가지 비교를 수행하는 SPL 코드를 작성하십시오. 아래는 1차 비교입니다:
T() 함수는 csv 파일을 구문 분석하거나 csv 파일에 데이터를 씁니다. @c 옵션을 사용하면 커서를 사용하여 메모리에 맞지 않는 파일에서 데이터를 검색할 수 있습니다. sortx() 함수는 커서의 데이터를 정렬합니다. Joinx() 함수는 병합 조인을 수행합니다. merge() 함수는 레코드를 병합합니다. @d 옵션을 사용하면 차이를 찾을 수 있습니다.
SPL을 Java 애플리케이션에 통합하는 방법을 알아보려면 Java에서 SPL 스크립트를 호출하는 방법을 읽어보세요.
이것은 StackOverflow의 문제 중 하나입니다. 클릭하시면 기존 솔루션이 상당히 복잡하다는 것을 알 수 있지만 SPL 접근 방식은 정말 간단하고 효율적입니다.
SPL 오픈소스 주소
위 내용은 대용량 csv 파일 비교 #eg38의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!