Mam dość duży plik .txt ~ 9GB i będę chciał załadować ten plik TXT do PostgreSQL. Pierwszy wiersz to nagłówek, a następnie wszystkie dane. Jeśli zgłoszę bezpośrednio COPY dane, nagłówek spowoduje błąd, że typ danych nie pasuje do mojej tabeli postgres, więc będę musiał go jakoś usunąć.Jak wykonać Postgres Copy zignorować pierwszą linię dużego pliku txt
próbki danych: ProjectID, MailId, MailCodeId, prospectid, listid, datemailed, ilości pobrane, suwak, zip4, VectorMajor, VectorMinor, packageid, faza databaseid, limitu2
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
Chociaż funkcja kopiowania dla PostgreSQL posiada „nagłówek” ustawienie, które można pominąć pierwszego rzędu, to działa tylko dla plików csv:
copy training from 'C:/testCSV.csv' DELIMITER ',' csv header;
gdy próbuję uruchomić powyższy kod w moim pliku txt, robi błąd:
copy training from 'C:/testTXTFile.txt' DELIMITER ',' csv header
ERROR: unquoted newline found in data
HINT: Use quoted CSV field to represent newline.
Próbowałem dodając „cytat” i „Escape” atrybuty ale polecenie po prostu nie wydają się działać dla pliku 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
Alternatywnie, myślałem o bieganiu Java lub utwórz stagging oddzielna tabela, aby usunąć pierwszy wiersz ... ale te rozwiązania są ekspansywne i czasochłonne. Będę musiał załadować 9 gb danych tylko po to, aby usunąć pierwszy rząd nagłówków ... czy istnieją inne rozwiązania, które pozwalają łatwo usunąć pierwszy wiersz pliku txt, tak że mogę załadować dane do mojej bazy danych Postgres?
Opcja _header_ usuwa pierwszą linię, nie narzędzie zewnętrzne jest potrzebne do tego. Jeśli to prowadzi do "niecytowanej nowej linii znalezionej w danych", rodzi się pytanie: jaka jest dokładnie struktura twojego pliku? Czym się różni od [CSV] (http://en.wikipedia.org/wiki/Comma-separated_values)? –