Tengo un archivo .txt bastante grande ~ 9gb y me gustaría cargar este archivo txt en postgres. La primera fila es el encabezado, seguido de todos los datos. Si publico COPY los datos directamente, el encabezado provocará un error que el tipo de datos no coincida con mi tabla de postgres, por lo que tendré que eliminarlo de alguna manera.Cómo hacer que Copiar Postgres ignore la primera línea del archivo de texto grande
muestra de datos: projectId, MailId, MailCodeId, prospectid, listid, datemailed, cantidad, donado, zip, ZIP4, VectorMajor, VectorMinor, PackageID, fase, DatabaseID, monto2
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
Mientras que la función de COPIA para postgres tiene la configuración de "cabecera" que puede pasar por alto la primera fila, que sólo funciona para archivos CSV:
copy training from 'C:/testCSV.csv' DELIMITER ',' csv header;
cuando trato de ejecutar el código anterior en mi archivo txt, se obtiene un error:
copy training from 'C:/testTXTFile.txt' DELIMITER ',' csv header
ERROR: unquoted newline found in data
HINT: Use quoted CSV field to represent newline.
He intentado añadir "cita" y "escape" atributos, pero simplemente no les parecerá el comando a trabajar para el archivo 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
Alternativamente, pensé acerca de la ejecución de Java o crear una stagging separada tabla para eliminar la primera fila ... pero estas soluciones son expansivas y requieren mucho tiempo. Tendré que cargar 9 gb de datos solo para eliminar la primera fila de encabezados ... ¿hay otras soluciones para eliminar fácilmente la primera fila de un archivo txt para que pueda cargar los datos en mi base de datos postgres?
La opción _header_ no eliminar la primera línea, no se necesita ninguna utilidad externa para eso. Si eso conduce a "nueva línea no encontrada encontrada en los datos", se plantea una pregunta: ¿cuál es exactamente la estructura de su archivo? ¿En qué se diferencia de [CSV] (http://en.wikipedia.org/wiki/Comma-separated_values)? –