상당히 큰 .txt 파일 ~ 9GB가 있습니다.이 txt 파일을 postgres에로드하고 싶습니다. 첫 번째 행은 헤더이며 모든 데이터가 이어집니다. Postgres에서 데이터를 직접 COPY하면 헤더가 데이터 유형이 postgres 테이블과 일치하지 않는다는 오류가 발생하므로 어떻게 든 제거해야합니다.Postgres를 만드는 방법 큰 txt 파일의 첫 번째 줄을 무시하십시오.
샘플 데이터 : ProjectId, MailId, MailCodeId, prospectid, listid, datemailed, 양 기부 지퍼 zip4, VectorMajor, VectorMinor, packageid, 위상 databaseid, AMOUNT2
15,53568419,89734,219906,15,2011-05-11 00:00:00,0,0,90720,2915,NonProfit,POLICY,230,3,1,0
16,84141863,87936,164657,243,2011-03-10 00:00:00,0,0,48362,2523,NonProfit,POLICY,1507,5,1,0
16,81442028,86632,15181625,243,2011-01-19 00:00:00,0,0,11501,2115,NonProfit,POLICY,1508,2,1,0
동안 복사 기능 포스트 그레스의 첫 번째 행을 무시할 수있는 "헤더"설정을 가지고, 그것은 단지 CSV 파일을 작동합니다
0,123,516 :copy training from 'C:/testCSV.csv' DELIMITER ',' csv header;
내 txt 파일에 위의 코드를 실행하려고, 그것은 오류를 가져옵니다 나는 "인용"과 "탈출"을 추가 시도
copy training from 'C:/testTXTFile.txt' DELIMITER ',' csv header
ERROR: unquoted newline found in data
HINT: Use quoted CSV field to represent newline.
속성하지만 명령은 단지 txt 파일에 대해 작동하지 않습니다 : 또는
copy training from 'C:/testTXTFile.txt' DELIMITER ',' csv header quote as E'"' escape as E'\\N';
ERROR: COPY escape must be a single one-byte character
, 나는 자바 실행에 대한 생각 또는 별도의 stagging를 만들 테이블을 사용하여 첫 번째 행을 제거하지만 이러한 솔루션은 광범위하고 시간이 많이 걸립니다. 헤더의 첫 번째 행을 제거하기 위해 9GB의 데이터를로드해야합니다 ... 다른 포스트잇 데이터베이스에 데이터를로드 할 수 있도록 txt 파일의 첫 번째 행을 쉽게 제거 할 수있는 솔루션이 있습니까? CSV 옵션
첫 번째 줄을 제거 않습니다 _header_ 옵션, 외부 유틸리티는 필요하지 않습니다. 이것이 "데이터에서 인용 부호가없는 줄 바꿈"으로 연결되면, 파일의 구조가 정확히 무엇인가라는 의문이 제기됩니다. [CSV] (http://en.wikipedia.org/wiki/Comma-separated_values)와 어떻게 다른가요? –