ejemplo - "Datos adicionales después de la última columna esperada" al intentar importar un archivo csv en postgresql
importar datos a postgres desde txt (2)
Ahora tienes 7 campos.
Necesita asignar esos 6 campos del CSV en 6 campos en la tabla.
No puedes asignar solo 3 campos de csv cuando lo tienes 6 como lo haces en:
/COPY agency (agency_name, agency_url, agency_timezone) FROM ''myFile.txt'' CSV HEADER DELIMITER '','';
Todos los campos del archivo csv deben asignarse en el comando copiar desde.
Y como usted definió csv ,
delimitador es el predeterminado, no necesita ponerlo.
Intento copiar el contenido de un archivo CSV en mi postgresql db y obtengo este error "datos adicionales después de la última columna esperada".
El contenido de mi CSV es
agency_id,agency_name,agency_url,agency_timezone,agency_lang,agency_phone
100,RATP (100),http://www.ratp.fr/,CET,,
y mi comando postgresql es
COPY agency (agency_name, agency_url, agency_timezone) FROM ''myFile.txt'' CSV HEADER DELIMITER '','';
Aquí está mi mesa
CREATE TABLE agency (
agency_id character varying,
agency_name character varying NOT NULL,
agency_url character varying NOT NULL,
agency_timezone character varying NOT NULL,
agency_lang character varying,
agency_phone character varying,
agency_fare_url character varying
);
Column | Type | Modifiers
-----------------+-------------------+-----------
agency_id | character varying |
agency_name | character varying | not null
agency_url | character varying | not null
agency_timezone | character varying | not null
agency_lang | character varying |
agency_phone | character varying |
agency_fare_url | character varying |
Probé tu ejemplo y funciona bien, pero ...
su comando de la línea de comando psql falta /
database=# /COPY agency FROM ''myFile.txt'' CSV HEADER DELIMITER '','';
Y la próxima vez incluye DDL
DDL
desde los encabezados de csv