CSV-filer forenkler prosessen med å lagre data. Siden formatet er rad- og kolonnebasert, kan CSV oversettes godt til en relasjonsdatabase.

Det er enkelt å importere en CSV-fil til en database, og eksportere fra en database til en CSV-fil. Det er noen forskjellige teknikker du kan bruke for å gjøre det med PostgreSQL.

Lag en CSV-fil

Her er noen eksempler på CSV-data du kan bruke til lage din egen CSV-fil:

id, fornavn, etternavn, e-post
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, må du lage en tabell som samsvarer med CSV-filformatet. Bruk følgende kode for å lage en Postgres-tabell.

SKAPEBORD ansatte(idintIKKENULL,
fornavn røye (20),
etternavn char (20),
e-posttegn (50));

Importer CSV-filer til PostgreSQL

Du kan importere CSV-filer til en Postgres-tabell på serveren eller på en klientmaskin.

instagram viewer

Importer CSV-filer på serversiden

For å importere en CSV-fil til en PostgreSQL-server, bruk PostgreSQL COPY-kommandoen og FROM-nøkkelordet. Dette lar deg kopiere data fra en CSV-fil til en Postgres-tabell, forutsatt at strukturen samsvarer. Bruk følgende kode for å kopiere eksempel-CSV-filen til medarbeidertabellen:

COPY-ansatte (id, fornavn, etternavn, e-post)
FRA '/tmp/sample.csv'
AVGRENSNING ','
CSV-hode;

Banen i eksemplet ovenfor er absolutt. Du kan bruke en bane i forhold til Postgres-datakatalogen din hvis du foretrekker det.

Du kan kopiere dataene med eller uten overskrifter, så slipp den siste linjen med kode hvis du ikke trenger dem.

Importer CSV-filer på klientsiden

På en klientmaskin bruker du psql \kopiere kommandoen for å importere CSV-filen. Kjør følgende kode på psql-ledeteksten for å kopiere eksempel-CSV-filen til medarbeidertabellen.

\kopi ansatte FRA '/tmp/sample.csv' AVGRENSNING ',' CSV-hode;

Eksporter CSV-filer fra PostgreSQL

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

Eksporter CSV-filer på serversiden

Bruk COPY-kommandoen og TO-nøkkelordet for å eksportere dataene til en CSV-fil. Du må spesifisere kildetabellen og banen til målfilen. Denne gangen må banen være absolutt:

KOPIER ansatte TIL '/tmp/employees.csv' CSV-hode;

Hvis du bare trenger å eksportere noen av radene fra databasen, bruk SELECT-kommandoen som følger:

KOPI (VELG * FRA ansatte hvor fornavn='Moyna') TIL '/tmp/employees-moyna.csv' CSV-hode;

Eksporter CSV-filer på klientsiden

For å eksportere data på klientsiden, bruk \kopiere kommandoen og TIL nøkkelord i psql-ledeteksten:

\kopi ansatte TIL 'sti-til-fil.csv' CSV-overskrift;

Bruke en databaseadapter

Du trenger ikke bruke terminalen for å importere en CSV-fil. Du kan importere dataene gjennom et markørobjekt ved å bruke ditt foretrukne programmeringsspråk. Hvis du for eksempel jobber med Python, kan du koble til PostgreSQL-serveren og kjøre KOPIERE kommando.

For dette må du koble Python til Postgres gjennom en databaseadapter som psychopg2.

pip installer psycopg2

Koble til databasen med følgende kode:

import psychopg2;

forbindelse = psychopg.connect(
database="employee_db",
host="localhost"
user="postgres",
passord="passord",
)

Lag deretter et markørobjekt og bruk det til å utføre COPY-kommandoen:

cursor = forbindelse.cursor()

cursor.execute(
"COPY ansatte (id, fornavn, etternavn, e-post)
FRA '/tmp/sample.csv'
DELIMITER ','
CSV HEADER;"
)

connection.close()

Administrer PostgreSQL-dataene dine med bekvemmeligheten av CSV

Det er en enkel prosess å importere og eksportere data ved hjelp av PostgreSQL- og CSV-filer. Du kan bruke psql-kommandoene på klienten eller serveren, eller bruke en databaseadapter programmatisk.

Hvis du er mer en GUI-person, bør du vurdere å bruke pgAdmin-verktøyet. Det er en åpen kildekode GUI-applikasjon som kan hjelpe deg med å importere og eksportere data enda enklere.