CSV-filer förenklar processen att lagra data. Eftersom formatet är rad- och kolumnbaserat översätts CSV bra till en relationsdatabas.

Det är enkelt att importera en CSV-fil till en databas och exportera från en databas till en CSV-fil. Det finns några olika tekniker du kan använda för att göra det med PostgreSQL.

Skapa en CSV-fil

Här är några exempel på CSV-data som du kan använda till skapa din egen CSV-fil:

id, förnamn, efternamn, e-post
1,Riannon,Pulsifer,Riannon.Pulsiferare@exempel.com
2,Moyna,Palocz,Moyna.Palocz@exempel.com
3,Roslyn,Bearnard,Roslyn.Bearnard@exempel.com
4,Gloria,Aldric,Gloria.Aldric@exempel.com
5,Felice,Greenwald,Felice.Greenwald@exempel.com

Innan du importerar CSV-filen till PostgreSQL-databasenmåste du skapa en tabell som matchar CSV-filformatet. Använd följande kod för att skapa en Postgres-tabell.

SKAPATABELL anställda(idintINTENULL,
förnamn röding (20),
efternamn char (20),
e-post tecken (50));

Importera CSV-filer till PostgreSQL

Du kan importera CSV-filer till en Postgres-tabell på servern eller på en klientdator.

instagram viewer

Importera CSV-filer på serversidan

För att importera en CSV-fil till en PostgreSQL-server, använd kommandot PostgreSQL COPY och nyckelordet FROM. Detta låter dig kopiera data från en CSV-fil till en Postgres-tabell, förutsatt att strukturen matchar. Använd följande kod för att kopiera CSV-exemplet till tabellen för anställda:

COPY-anställda (id, förnamn, efternamn, e-post)
FRÅN '/tmp/sample.csv'
AVGRÄNSNING ','
CSV-HUVUD;

Vägen i exemplet ovan är absolut. Du kan använda en sökväg i förhållande till din Postgres-datakatalog om du föredrar det.

Du kan kopiera data med eller utan rubriker så utelämna gärna den sista kodraden om du inte behöver dem.

Importera CSV-filer på klientsidan

På en klientdator, använd psql \kopiera kommandot för att importera CSV-filen. Kör följande kod på psql-kommandotolken för att kopiera CSV-exemplet till arbetstabellen.

\copy anställda FRÅN '/tmp/sample.csv' AVGRÄNSNING ',' CSV-HUVUD;

Exportera CSV-filer från PostgreSQL

Som med import kan du också exportera en CSV-fil på serversidan eller klientsidan.

Exportera CSV-filer på serversidan

Använd kommandot COPY och nyckelordet TO för att exportera data till en CSV-fil. Du måste ange källtabellen och sökvägen till målfilen. Den här gången måste vägen vara absolut:

KOPIERA anställda TILL '/tmp/employees.csv' CSV-HUVUD;

Om du bara behöver exportera några av raderna från databasen, använd kommandot SELECT enligt följande:

KOPIERA (VÄLJ * FRÅN anställda där förnamn='Moyna') TILL '/tmp/employees-moyna.csv' CSV-HUVUD;

Exportera CSV-filer på klientsidan

För att exportera data på klientsidan, använd \kopiera kommandot och TILL nyckelord i psql-kommandotolken:

\copy anställda TILL 'sökväg till fil.csv' CSV-huvud;

Använda en databasadapter

Du behöver inte använda terminalen för att importera en CSV-fil. Du kan importera data via ett markörobjekt med ditt föredragna programmeringsspråk. Om du till exempel arbetar med Python kan du ansluta till PostgreSQL-servern och köra KOPIERA kommando.

För detta måste du ansluta Python till Postgres via en databasadapter som psychopg2.

pip installera psycopg2

Anslut till databasen med följande kod:

importera psychopg2;

anslutning = psychopg.connect(
database="employee_db",
host="localhost"
user="postgres",
lösenord="lösenord",
)

Skapa sedan ett markörobjekt och använd det för att utföra kommandot COPY:

cursor = connection.cursor()

cursor.execute(
"COPY anställda (id, förnamn, efternamn, e-post)
FRÅN '/tmp/sample.csv'
DELIMITER ','
CSV-HUVUD;"
)

connection.close()

Hantera dina PostgreSQL-data med bekvämligheten med CSV

Det är en enkel process att importera och exportera data med PostgreSQL- och CSV-filer. Du kan använda psql-kommandona på klienten eller servern, eller använda en databasadapter programmatiskt.

Om du är mer av en GUI-person, överväg att använda verktyget pgAdmin. Det är en GUI-applikation med öppen källkod som kan hjälpa dig att importera och exportera data ännu enklare.