Ho un file .txt abbastanza grande ~ 9 gb e mi piacerebbe caricare questo file txt in postgres. La prima riga è l'intestazione, seguita da tutti i dati. Se postgres COPY i dati direttamente, l'intestazione causerà un errore che il tipo di dati non corrisponde alla mia tabella postgres, quindi dovrò rimuoverlo in qualche modo.Come fare Postgres Copy ignora la prima riga del file txt grande
campione di dati: ProjectID, MailId, MailCodeId, prospectid, listid, datemailed, importo, donato, zip, zip4, VectorMajor, VectorMinor, PackageID, fase, 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
Mentre la funzione COPY per Postgres ha l'impostazione "header" in grado di ignorare la prima fila, funziona solo per i file CSV:
copy training from 'C:/testCSV.csv' DELIMITER ',' csv header;
quando si tenta di eseguire il codice di cui sopra sul mio file txt, si ottiene un errore:
0.123.copy training from 'C:/testTXTFile.txt' DELIMITER ',' csv header
ERROR: unquoted newline found in data
HINT: Use quoted CSV field to represent newline.
Ho provato ad aggiungere "quote" e "escape" attributi, ma il comando semplicemente non sembra funzionare per il file 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
In alternativa, ho pensato di correre java o creare uno stagging separato tabella per rimuovere la prima riga ... ma queste soluzioni sono lunghe e costose. Dovrò caricare 9gb di dati solo per rimuovere la prima riga di intestazioni ... ci sono altre soluzioni là fuori per rimuovere facilmente la prima riga di un file txt in modo che possa caricare i dati nel mio database postgres?
L'opzione _header_ non rimuovere la prima riga, nessuna utilità esterno è necessario per questo. Se questo porta a "una nuova riga non quotata trovata nei dati", solleva una domanda: qual è esattamente la struttura del tuo file? In che cosa differisce da [CSV] (http://en.wikipedia.org/wiki/Comma-separated_values)? –