¿Que es CSV?
Una definición clara y exacta la da Wikipedia.
Los archivos CSV (del inglés comma-separated values) son un tipo de documento en formato abierto sencillo para representar datos en forma de tabla, en las que las columnas se separan por comas y las filas por saltos de línea. […]
Los archivos CSV conforman una de las mejores formas de crear seed’s de información para nuestra aplicación. Importar y exportar CSV en Postgres es muy fácil.
Para nuestro ejemplo tendremos una tabla productos la cuál tendrá un id – nombre – precio – stock.
createtable productos (
idserialnotnull,
nombre varchar(40) notnull,
precio intnotnull,
stock small int
);
Ahora creamos algunos productos con nuestro editor CSV favorito, si usas Windows puedes utilizar la suite de Office o si usas Linux LibreOffice, o cualquier otro editor de hojas de cálculo que quieras.
Guardé mi hoja de cálculo como archivo CSV y se llama productos.csv
Ahora vamos a nuestra herramienta psql y ya dentro de nuestra terminal y dentro de nuestra base de datos, hacemos lo siguiente.
copy productos (nombre, precio, stock) from ‘/devpolish/documents/productos.csv’ delimiter ‘,’ csv header;
En mi caso estoy utilizando Linux, pero si usas Windows sólo coloca la ruta de tu archivo CSV.
Ahora si haces una consulta
select * from productos;
Veremos nuestros productos del seed.
Ahora para importar nuestra tabla hacemos lo siguiente.
copy productos to ‘/devpolish/tmp/productos.csv’ delimiter ‘,’ csv header;
Esto es todo ¯_(ツ)_/¯
Y si quiero importar solo datos a una columna de mi tabla?
Gracias por el aporte, me ayude también un poco de esta documentación https://www.postgresql.org/docs/9.2/sql-copy.html
No me funcionó…como todo en base de datos.
Gracias. Lo busqué en varias rutas y cursos y lo vine a conseguir antes dentro de la comunidad. Buen aporte
Y si tengo una tabla con 4 campos y quiero exportar datos desde un documento externos (csv) a solo una columna de esa tabla?