Cómo importar y exportar datos usando archivos CSV en PostgreSQL

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *