Datoteke CSV poenostavljajo postopek shranjevanja podatkov. Ker oblika zapisa temelji na vrsticah in stolpcih, je CSV dobro preveden v relacijsko bazo podatkov.

Datoteko CSV je preprosto uvoziti v bazo podatkov in izvoziti iz baze podatkov v datoteko CSV. Obstaja nekaj različnih tehnik, ki jih lahko uporabite za to s PostgreSQL.

Ustvari datoteko CSV

Tukaj je nekaj vzorčnih podatkov CSV, ki jih lahko uporabite ustvarite svojo datoteko CSV:

id, ime, priimek, e-pošta
1,Riannon,Pulsifer,Riannon.Pulsifer@primer.com
2,Moyna,Palocz,Moyna.Palocz@primer.com
3,Roslyn,Bearnard,Roslyn.Bearnard@primer.com
4,Gloria,Aldric,Gloria.Aldric@primer.com
5,Felice,Greenwald,Felice.Greenwald@primer.com

Pred uvozom datoteke CSV v baze podatkov PostgreSQL, boste morali ustvariti tabelo, ki se ujema z obliko datoteke CSV. Za ustvarjanje tabele Postgres uporabite naslednjo kodo.

USTVARJANJETABELA zaposleni(idintNENIČ,
ime char (20),
priimek char (20),
e-poštni znak (50));

Uvozite datoteke CSV v PostgreSQL

Datoteke CSV lahko uvozite v tabelo Postgres na strežniku ali na odjemalskem računalniku.

instagram viewer

Uvozite datoteke CSV na strani strežnika

Za uvoz datoteke CSV v strežnik PostgreSQL uporabite ukaz PostgreSQL COPY in ključno besedo FROM. To vam omogoča kopiranje podatkov iz datoteke CSV v tabelo Postgres, če se struktura ujema. S to kodo kopirajte vzorčno datoteko CSV v tabelo zaposlenih:

COPY zaposleni (id, ime, priimek, e-pošta)
OD '/tmp/sample.csv'
DELIMITER ','
GLAVA CSV;

Pot v zgornjem primeru je absolutna. Če želite, lahko uporabite pot glede na imenik podatkov Postgres.

Podatke lahko kopirate z glavami ali brez njih, zato lahko izpustite zadnjo vrstico kode, če jih ne potrebujete.

Uvozite datoteke CSV na strani odjemalca

Na odjemalskem računalniku uporabite psql \kopirati ukaz za uvoz datoteke CSV. Zaženite naslednjo kodo v ukaznem pozivu psql, da kopirate vzorčno datoteko CSV v tabelo zaposlenih.

\copy zaposlenih IZ '/tmp/sample.csv' DELIMITER ',' GLAVA CSV;

Izvozite datoteke CSV iz PostgreSQL

Tako kot pri uvozu lahko tudi izvozite datoteko CSV na strani strežnika ali strani odjemalca.

Izvozite datoteke CSV na strani strežnika

Za izvoz podatkov v datoteko CSV uporabite ukaz COPY in ključno besedo TO. Določiti morate izvorno tabelo in pot do ciljne datoteke. Tokrat mora biti pot absolutna:

COPY zaposlenih TO '/tmp/employees.csv' GLAVA CSV;

Če morate samo izvoziti nekatere vrstice iz baze podatkov, uporabite ukaz SELECT na naslednji način:

COPY (SELECT * FROM zaposlenih, kjer ime='Moyna') ZA '/tmp/employees-moyna.csv' GLAVA CSV;

Izvozite datoteke CSV na strani odjemalca

Za izvoz podatkov na strani odjemalca uporabite \kopirati ukaz in TO ključna beseda v ukaznem pozivu psql:

\copy zaposlenih TO 'pot do datoteke.csv' glava CSV;

Uporaba vmesnika podatkovne baze

Za uvoz datoteke CSV vam ni treba uporabiti terminala. Podatke lahko uvozite prek predmeta kazalca z uporabo želenega programskega jezika. Na primer, če delate s Pythonom, se lahko povežete s strežnikom PostgreSQL in izvedete KOPIRATI ukaz.

Za to morate Python povezati s Postgresom prek adapterja baze podatkov, kot je psycopg2.

pip namestite psycopg2

Povežite se z bazo podatkov z naslednjo kodo:

uvoz psycopg2;

povezava = psycopg.connect(
baza podatkov="employee_db",
gostitelj = "lokalni gostitelj"
uporabnik="postgres",
geslo="geslo",
)

Nato ustvarite objekt kazalca in ga uporabite za izvedbo ukaza COPY:

kazalec = povezava.kurzor()

cursor.execute(
"KOPIRAJ zaposleni (id, ime, priimek, e-pošta)
IZ '/tmp/sample.csv'
DELIMITER ','
GLAVA CSV;"
)

povezava.close()

Upravljajte svoje podatke PostgreSQL s priročnostjo CSV

To je preprost postopek za uvoz in izvoz podatkov z uporabo datotek PostgreSQL in CSV. Ukaze psql lahko uporabite na odjemalcu ali strežniku ali programsko uporabite vmesnik baze podatkov.

Če ste bolj uporabnik GUI, razmislite o uporabi orodja pgAdmin. Je odprtokodna aplikacija GUI, ki vam lahko pomaga še lažje uvažati in izvažati podatke.