Súbory CSV zjednodušujú proces ukladania údajov. Keďže formát je riadkový a stĺpcový, CSV sa dobre prevádza do relačnej databázy.

Je jednoduché importovať súbor CSV do databázy a exportovať z databázy do súboru CSV. Existuje niekoľko rôznych techník, ktoré na to môžete použiť s PostgreSQL.

Vytvorte súbor CSV

Tu je niekoľko vzorových údajov CSV, ktoré môžete použiť vytvorte si vlastný súbor CSV:

id, meno, priezvisko, email
1,Riannon,Pulsifer,Riannon.Pulzifer@príklad.com
2,Moyna,Palocz,Moyna.Palocz@príklad.com
3,Roslyn,Bearnard,Roslyn.Bearnard@príklad.com
4,Gloria,Aldric,Gloria.Aldric@príklad.com
5,Felice,Greenwald,Felice.Greenwald@príklad.com

Pred importovaním súboru CSV do databázy PostgreSQL, budete musieť vytvoriť tabuľku, ktorá zodpovedá formátu súboru CSV. Na vytvorenie tabuľky Postgres použite nasledujúci kód.

VYTVORIŤTABLE zamestnanci(idintNIENULOVÝ,
meno char (20),
priezvisko char (20),
e-mailový znak (50));

Importujte súbory CSV do PostgreSQL

Súbory CSV môžete importovať do tabuľky Postgres na serveri alebo na klientskom počítači.

instagram viewer

Importujte súbory CSV na strane servera

Ak chcete importovať súbor CSV na server PostgreSQL, použite príkaz PostgreSQL COPY a kľúčové slovo FROM. To vám umožňuje kopírovať údaje zo súboru CSV do tabuľky Postgres za predpokladu, že sa štruktúra zhoduje. Na skopírovanie vzorového súboru CSV do tabuľky zamestnancov použite nasledujúci kód:

KOPÍROVAŤ zamestnancov (id, meno, priezvisko, email)
OD '/tmp/sample.csv'
DELIMITER ','
HLAVIČKA CSV;

Cesta vo vyššie uvedenom príklade je absolútna. Ak chcete, môžete použiť cestu relatívnu k vášmu dátovému adresáru Postgres.

Údaje môžete skopírovať s hlavičkami alebo bez nich, takže ak ich nepotrebujete, pokojne vynechajte posledný riadok kódu.

Importujte súbory CSV na strane klienta

Na klientskom počítači použite súbor psql \kopírovať príkaz na import súboru CSV. Spustite nasledujúci kód v príkazovom riadku psql a skopírujte vzorový súbor CSV do tabuľky zamestnancov.

\kopírovať zamestnancov OD '/tmp/sample.csv' DELIMITER ',' HLAVIČKA CSV;

Exportujte súbory CSV z PostgreSQL

Rovnako ako pri importovaní môžete tiež exportovať súbor CSV na strane servera alebo na strane klienta.

Exportujte súbory CSV na strane servera

Na export údajov do súboru CSV použite príkaz COPY a kľúčové slovo TO. Musíte zadať zdrojovú tabuľku a cestu k cieľovému súboru. Tentoraz musí byť cesta absolútna:

KOPÍROVAŤ zamestnancov DO '/tmp/employees.csv' HLAVIČKA CSV;

Ak potrebujete exportovať iba niektoré riadky z databázy, použite príkaz SELECT takto:

KOPÍROVAŤ (VYBERTE * OD zamestnancov, kde krstné meno='Moyna') TO '/tmp/employees-moyna.csv' HLAVIČKA CSV;

Exportujte súbory CSV na strane klienta

Ak chcete exportovať údaje na strane klienta, použite \kopírovať príkaz a TO kľúčové slovo v príkazovom riadku psql:

\kopírovať zamestnancov TO 'cesta k súboru.csv' hlavička CSV;

Použitie databázového adaptéra

Na import súboru CSV nemusíte používať terminál. Údaje môžete importovať cez objekt kurzora pomocou preferovaného programovacieho jazyka. Napríklad, ak pracujete s Pythonom, môžete sa pripojiť k serveru PostgreSQL a spustiť ho KOPÍROVAŤ príkaz.

Na to musíte pripojiť Python k Postgresu pomocou databázového adaptéra, ako je napr psycopg2.

pip install psycopg2

Pripojte sa k databáze pomocou nasledujúceho kódu:

importovať psycopg2;

pripojenie = psycopg.connect(
database="employee_db",
host="localhost"
user="postgres",
password="heslo",
)

Potom vytvorte objekt kurzora a použite ho na vykonanie príkazu COPY:

kurzor = connection.cursor()

kurzor.execute(
"KOPÍROVAŤ zamestnancov (id, meno, priezvisko, email)
Z '/tmp/sample.csv'
DELIMITER ','
CSV HEADER;"
)

connection.close()

Spravujte svoje údaje PostgreSQL s pohodlím CSV

Ide o jednoduchý proces importu a exportu údajov pomocou súborov PostgreSQL a CSV. Môžete použiť príkazy psql na klientovi alebo serveri alebo použiť databázový adaptér programovo.

Ak ste skôr používateľ s GUI, zvážte použitie nástroja pgAdmin. Ide o open-source GUI aplikáciu, ktorá vám môže pomôcť importovať a exportovať dáta ešte jednoduchšie.