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.
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.