En este artículo, veremos cómo importar y exportar datos usando un archivo CSV en PostgreSQL, los datos en archivos CSV se pueden importar y exportar fácilmente usando PostgreSQL.
Para crear un archivo CSV, abra cualquier editor de texto (notepad, vim, atom). Escriba los nombres de las columnas en la primera línea. Agregue valores de fila separados por comas a las columnas correspondientes en las siguientes líneas. Guarde el archivo como Demo_data.csv como se muestra a continuación.
Ahora cree una nueva tabla usando psycopg2 donde importaremos los datos del archivo CSV:
Python3
import psycopg2 # connection establishment conn = psycopg2.connect( database="postgres", user='postgres', password='password', host='localhost', port='5432' ) conn.autocommit = True # Creating a cursor object cursor = conn.cursor() # query to create a table sql = ''' CREATE TABLE demo ( id INT, name VARCHAR(50), city VARCHAR(50), age INT ); ''' # executing above query cursor.execute(sql) print("Table has been created successfully!!") # Closing the connection conn.close()
Producción:
Table has been created successfully!!
Importación de datos utilizando un archivo CSV
Usamos el comando COPY con la palabra clave FROM para importar el contenido del archivo CSV a una nueva tabla.
Sintaxis: COPY <nombre de tabla> FROM ‘ubicación + nombre_de_archivo’ DELIMITER ‘,’ CSV HEADER;
Dónde:
- <table name> – nombre de la tabla donde queremos importar datos.
- ‘ubicación + nombre_de_archivo’: ruta completa del archivo CSV desde el cual estamos importando datos (asegúrese de tener acceso de ‘lectura’ al archivo).
- DELIMITER ‘,’: especifica el delimitador que es una coma (,)
- CSV: especifica el formato del archivo desde el que estamos importando datos.
- ENCABEZADO: especifica que tenemos una fila de encabezado en nuestro archivo .csv y, al importar, debemos ignorar la primera fila.
Ejemplo:
Python3
import psycopg2 # connection establishment conn = psycopg2.connect( database="postgres", user='postgres', password='password', host='localhost', port='5432' ) conn.autocommit = True # Creating a cursor object cursor = conn.cursor() # query to import data from given csv sql = '''COPY demo FROM 'C:\\Users\\DELL\\Downloads\\Demo_data.csv' DELIMITER ',' CSV HEADER''' # executing above query cursor.execute(sql) # Display the table cursor.execute('SELECT * FROM demo') print(cursor.fetchall()) # Closing the connection conn.close()
Producción:
[(1, ‘Harry’, ‘Delhi’, 29), (2, ‘Mira’, ‘Mumbai’, 24), (3, ‘Emma’, ‘Bangalore’, 30), (4, ‘Kevin’, ‘Mumbai’, 19)]
Exportación de datos utilizando un archivo CSV
Para exportar datos de una tabla a un archivo CSV, usamos la palabra clave TO con el comando COPY.
Sintaxis: COPY <nombre de tabla> TO ‘ubicación + nombre_de_archivo’ DELIMITER ‘,’ CSV HEADER;
Aquí, <table name> es la tabla desde la que estamos exportando datos.
‘ubicación + nombre_archivo’ contiene la ruta del archivo CSV al que queremos exportar los datos. Asegúrese de tener acceso de ‘escritura’ al archivo.
Ejemplo:
Python3
import psycopg2 # connection establishment conn = psycopg2.connect( database="postgres", user='postgres', password='password', host='localhost', port='5432' ) conn.autocommit = True # Creating a cursor object cursor = conn.cursor() # query to export table into csv sql = '''COPY demo TO 'C:\\Users\\DELL\\Downloads\\Exported_data.csv' DELIMITER ',' CSV HEADER''' # executing above query cursor.execute(sql) # Closing the connection conn.close()
El CSV exportado se verá así:
Publicación traducida automáticamente
Artículo escrito por srishtiarya27 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA