CSV-filer forenkler processen med at gemme data. Da formatet er række- og kolonnebaseret, oversættes CSV godt til en relationel database.

Det er nemt at importere en CSV-fil til en database og eksportere fra en database til en CSV-fil. Der er et par forskellige teknikker, du kan bruge til at gøre det med PostgreSQL.

Opret en CSV-fil

Her er nogle eksempler på CSV-data, du kan bruge til oprette din egen CSV-fil:

id, fornavn, efternavn, e-mail
1,Riannon,Pulsifer,Riannon.Pulsifer@eksempel.com
2,Moyna,Palocz,Moyna.Palocz@eksempel.com
3,Roslyn,Bearard,Roslyn.Bearnard@eksempel.com
4,Gloria,Aldric,Gloria.Aldric@eksempel.com
5,Felice,Greenwald,Felice.Greenwald@eksempel.com

Før du importerer CSV-filen til PostgreSQL-databasen, skal du oprette en tabel, der matcher CSV-filformatet. Brug følgende kode til at oprette en Postgres-tabel.

SKABBORD medarbejdere (idintIKKENUL,
fornavn char (20),
efternavn char (20),
e-mail-char (50));

Importer CSV-filer til PostgreSQL

Du kan importere CSV-filer til en Postgres-tabel på serveren eller på en klientmaskine.

instagram viewer

Importer CSV-filer på serversiden

For at importere en CSV-fil til en PostgreSQL-server skal du bruge kommandoen PostgreSQL COPY og nøgleordet FROM. Dette giver dig mulighed for at kopiere data fra en CSV-fil til en Postgres-tabel, forudsat at strukturen matcher. Brug følgende kode til at kopiere eksempel-CSV-filen til medarbejdertabellen:

COPY medarbejdere (id, fornavn, efternavn, e-mail)
FRA '/tmp/sample.csv'
AFGRÆNSNING ','
CSV OVERSKRIFT;

Stien i ovenstående eksempel er absolut. Du kan bruge en sti i forhold til din Postgres-datamappe, hvis du foretrækker det.

Du kan kopiere dataene med eller uden overskrifter, så du er velkommen til at udelade den sidste kodelinje, hvis du ikke har brug for dem.

Importer CSV-filer på klientsiden

På en klientmaskine skal du bruge psql \kopi kommando for at importere CSV-filen. Kør følgende kode på psql-kommandoprompten for at kopiere eksempel-CSV-filen til medarbejdertabellen.

\kopi medarbejdere FRA '/tmp/sample.csv' AFGRÆNSNING ',' CSV OVERSKRIFT;

Eksporter CSV-filer fra PostgreSQL

Som med import kan du også eksportere en CSV-fil på server- eller klientsiden.

Eksporter CSV-filer på serversiden

Brug COPY-kommandoen og TO nøgleordet til at eksportere dataene til en CSV-fil. Du skal angive kildetabellen og stien til destinationsfilen. Denne gang skal stien være absolut:

KOPIER medarbejdere TIL '/tmp/employees.csv' CSV OVERSKRIFT;

Hvis du kun skal eksportere nogle af rækkerne fra databasen, skal du bruge SELECT-kommandoen som følger:

KOPI (VÆLG * FRA medarbejdere hvor fornavn='Moyna') TIL '/tmp/employees-moyna.csv' CSV OVERSKRIFT;

Eksporter CSV-filer på klientsiden

For at eksportere data på klientsiden skal du bruge \kopi kommandoen og TIL nøgleord i psql kommandoprompten:

\kopi medarbejdere TIL 'sti-til-fil.csv' CSV header;

Brug af en databaseadapter

Du behøver ikke bruge terminalen til at importere en CSV-fil. Du kan importere dataene gennem et markørobjekt ved at bruge dit foretrukne programmeringssprog. For eksempel, hvis du arbejder med Python, kan du oprette forbindelse til PostgreSQL-serveren og udføre KOPI kommando.

Til dette skal du forbinde Python til Postgres gennem en databaseadapter som psychopg2.

pip installer psycopg2

Opret forbindelse til databasen ved hjælp af følgende kode:

importere psychopg2;

forbindelse = psychopg.connect(
database="medarbejder_db",
host="localhost"
bruger="postgres",
password="adgangskode",
)

Opret derefter et markørobjekt og brug det til at udføre COPY-kommandoen:

cursor = forbindelse.cursor()

cursor.execute(
"COPY medarbejdere (id, fornavn, efternavn, e-mail)
FRA '/tmp/sample.csv'
DELIMITER ','
CSV-HEADER;"
)

forbindelse.close()

Administrer dine PostgreSQL-data med bekvemmeligheden ved CSV

Det er en simpel proces at importere og eksportere data ved hjælp af PostgreSQL- og CSV-filer. Du kan bruge psql-kommandoerne på klienten eller serveren eller bruge en databaseadapter programmatisk.

Hvis du er mere en GUI-person, kan du overveje at bruge pgAdmin-værktøjet. Det er en open source GUI-applikation, der kan hjælpe dig med at importere og eksportere data endnu nemmere.