2013-03-27 3 views
0

java를 사용하여 csv 파일에 쓰고 작성했습니다. 특정 필드는 값의 일부로 ','이 있었기 때문에 각 열을 ' ""'("allen, jade", "123", "12 street"과 같이)로 묶었습니다. 나는 포스트 그레스에이 파일을 업로드하려고 할 때대용량 파일 (> 2GB)에서 특수 문자 처리/편집

지금, "(COL)의 b 값"...

"값을 내지 컬럼"(9.1) 데이터베이스 사용 : 그래서 내 CSV 파일의 값이 같다 'filename.csv'의 COPY 테이블 'DELIMITER', 'CSV; 마지막으로 예상 한 열 뒤에 여분의 데이터가 있습니다.

는 I 오류를 표시하고있는 레코드를 검사하고 그것이 가지고있는 열 보유 '' '값의 일부를

을 정확이 얼마나이다.

"의 Halswell 연합회 여호와의 증인 크라이스트 처치 ","크라이스트 처치 ","여호와의 증인의 할 스웰 집회 "

나는이 오류가 발생하는 첫 번째 열의 값 안에 '' '이 있기 때문에 추측합니다.

내가 틀렸다면 수정하십시오.이 문제를 해결할 수 있도록 도와 주시면 대단합니다.

답변

1

CSV 파일을 만드는 동안 자신의 따옴표로 묶기 전에 기존의 따옴표 ("\"으로 바꾸기)를 이스케이프해야합니다.

+0

거대한 파일이기 때문에 생성하지 않고도 기존 CSV 파일을 사용하여 작업 할 수있는 방법이 있습니다. 생성 시간은 오래 걸립니다. – CCGooner

+0

생성하는 데 시간이 오래 걸리는 경우 처리하는 데 시간이 오래 걸릴 수 있습니다. 또한 이전에 있던 인용문에서 인용 부호를 인식하는 명백한 방법이 없습니다. 예를 들어 '전쟁과 평화', '애나 카레 니나'및 다른 톨스토이 작품 '이 포함 된 전기 분야가 있다고 가정 해보십시오. 쉼표 주변의 따옴표는 삽입 된 따옴표와 구별되지 않습니다. – Amadan

+0

한 번에 한 줄씩 파일을 읽으려고합니다. 그런 다음 구분 기호로 ','를 고려하여 부분으로 줄을 분할 한 다음 분할 항목의 첫 번째 및 마지막 문자가 아닌 '' '에서' ''로 모든 항목을 변경하십시오. 알았어? – CCGooner