Curso
Las hojas de cálculo son, probablemente, uno de los elementos más relevantes en cualquier organización. A menudo necesitas importar una hoja de cálculo importante en un servidor de bases de datos para poder consultarla de forma eficaz. En este tutorial, aprenderás a hacerlo en PostgreSQL.
Este tutorial asume que ya conoces SQL y sabes escribir consultas SQL sencillas en PostgreSQL. Si eres nuevo en SQL, estos recursos pueden ayudarte:
Este tutorial se divide en dos apartados principales:
- Convertir una hoja de cálculo en un archivo .csv
- Importar un archivo .csv en una base de datos PostgreSQL
Convertir una hoja de cálculo en un archivo .csv
Para empezar, necesitarás una hoja de cálculo. Puedes crearla con cualquier editor tipo Excel como Google Sheets, MS Excel, etc. Para aprender los fundamentos de las hojas de cálculo, puedes hacer el curso Spreadsheet Basics de DataCamp o leer este tutorial para principiantes. Para seguir este tutorial, puedes usar esta hoja de cálculo, que incluye las siguientes columnas:
- ID
- Name
- Age
- Percentage Marks
La hoja de cálculo contiene un total de 20 registros.
Echemos un vistazo rápido a una captura (con las 10 primeras filas) de la hoja de cálculo: 
La hoja de cálculo contiene información de varios estudiantes universitarios.
Podemos inferir los posibles tipos de datos de las columnas a partir de la captura:
- ID, Age y Percentage Marks son columnas numéricas. En concreto, ID y Age pueden ser de tipo entero, y
Percentage Markspuede ser de tipo float. - La columna
Namees de tipo carácter.
La forma más sencilla de importar esta hoja de cálculo (también puedes llamarla conjunto de datos) en una base de datos PostgreSQL es convertirla primero en un archivo .csv y después importarla en la base de datos. CSV significa valores separados por comas. Esto tiene dos ventajas principales:
- Los archivos .csv pesan mucho menos que las hojas de cálculo y, por tanto, se manejan mejor con poca memoria.
- PostgreSQL incluye muchas utilidades para tratar archivos .csv de forma eficiente.
Todos los editores tipo Excel permiten convertir una hoja de cálculo a .csv. En Google Sheets, puedes hacerlo así: Archivo -> Descargar -> Valores separados por comas.
Importar un archivo .csv en una base de datos PostgreSQL
Para importar el archivo .csv que acabas de crear en una base de datos PostgreSQL, primero necesitas disponer de una base de datos PostgreSQL. Vamos a crear una rápidamente con la interfaz de pgAdmin.
Puedes crear una base de datos con el nombre que prefieras. Cuando la tengas, tendrás que crear una tabla en esa base de datos que contenga los registros del archivo .csv que vas a importar. Creemos una tabla llamada Student_Records en la base de datos que acabas de crear.
CREATE TABLE Student_Records
(
ID serial NOT NULL,
Name varchar(50),
Age SMALLINT,
Percentage_Marks float8
);
Hemos mantenido los tipos de datos de las columnas tal y como se comentó antes. Por comodidad, también hemos dejado los mismos nombres de columna. Ahora, ve a la tabla que acabas de crear en pgAdmin, haz clic derecho sobre ella y selecciona Import en las opciones. Para tu referencia: https://www.loom.com/share/2eeb1a2c94bf4f928c3ffa5b1b72eef4.
Puedes ignorar los errores que aparecen durante la importación en el screencast. Para comprobar si los registros se importaron correctamente, ejecuta una consulta select.
Veamos ahora cómo hacer lo anterior usando el prompt de psql. Para ello, primero vacía la tabla Student_Records con la consulta truncate table Student_Records;.
Ahora abre un prompt de psql, que debería verse así: 
Cambia a la base de datos que creaste para importar la hoja de cálculo. Puedes cambiar de base de datos en PostgreSQL con el siguiente comando:
\c database_name
Si la conexión se realizó correctamente, el prompt de psql mostrará el nombre de la base de datos indicada. Ahora puedes ejecutar el siguiente comando para importar el archivo .csv en la tabla Students_Records:
COPY Student_Records(ID,Name,Age,Percentage_Marks) FROM 'D:\Students.csv' DELIMITER ',' CSV HEADER;
A continuación, ejecuta una consulta select para verificar que la importación se ha realizado correctamente.
Puedes aprender más sobre el comando Copy aquí y probar sus distintas opciones.
Conclusión
Y esto es todo por este tutorial. Ya puedes importar una hoja de cálculo en PostgreSQL y analizarla igual que harías con cualquier tabla SQL.
