CSV-bestanden vereenvoudigen het proces van het opslaan van gegevens. Omdat het formaat rij- en kolomgebaseerd is, vertaalt CSV zich goed naar een relationele database.

Het is eenvoudig om een ​​CSV-bestand in een database te importeren en vanuit een database naar een CSV-bestand te exporteren. Er zijn een paar verschillende technieken die u kunt gebruiken om dit te doen met PostgreSQL.

Een CSV-bestand maken

Hier zijn enkele voorbeelden van CSV-gegevens die u kunt gebruiken om: maak je eigen CSV-bestand:

id, voornaam, achternaam, e-mail
1,Riannon,Pulserend,Riannon.Pulsifer@voorbeeld.com
2,Moyna,Palocz,Moyna.Palocz@voorbeeld.com
3,Roslyn,Bearnard,Roslyn.Bearnard@voorbeeld.com
4,Gloria,Aldric,Gloria.Aldric@voorbeeld.com
5,Felice,Greenwald,Felice.Greenwald@voorbeeld.com

Voordat u het CSV-bestand importeert in: de PostgreSQL-database, moet u een tabel maken die overeenkomt met het CSV-bestandsformaat. Gebruik de volgende code om een ​​Postgres-tabel te maken.

CREËRENTAFEL medewerkers(ID kaartintNIETNUL,
voornaam char (20),
achternaam char (20),
e-mail char (50));
instagram viewer

Importeer CSV-bestanden naar PostgreSQL

U kunt CSV-bestanden importeren naar een Postgres-tabel op de server of op een clientcomputer.

CSV-bestanden importeren aan de serverzijde

Gebruik de opdracht PostgreSQL COPY en het sleutelwoord FROM om een ​​CSV-bestand naar een PostgreSQL-server te importeren. Hiermee kunt u gegevens van een CSV-bestand naar een Postgres-tabel kopiëren, op voorwaarde dat de structuur overeenkomt. Gebruik de volgende code om het voorbeeld-CSV-bestand naar de werknemerstabel te kopiëren:

COPY medewerkers (id, voornaam, achternaam, e-mail)
VAN '/tmp/sample.csv'
DELIMITER ','
CSV-KOP;

Het pad in het bovenstaande voorbeeld is absoluut. U kunt desgewenst een pad gebruiken dat relatief is aan uw Postgres-gegevensdirectory.

U kunt de gegevens met of zonder kopteksten kopiëren, dus aarzel niet om de laatste regel code weg te laten als u ze niet nodig hebt.

CSV-bestanden importeren aan de clientzijde

Gebruik op een clientcomputer de psql \kopiëren commando om het CSV-bestand te importeren. Voer de volgende code uit op de psql-opdrachtprompt om het voorbeeld-CSV-bestand naar de werknemerstabel te kopiëren.

\kopie medewerkers VAN '/tmp/sample.csv' DELIMITER ',' CSV-KOP;

CSV-bestanden exporteren vanuit PostgreSQL

Net als bij importeren, kunt u een CSV-bestand ook aan de serverzijde of de clientzijde exporteren.

CSV-bestanden exporteren aan de serverzijde

Gebruik de opdracht COPY en het trefwoord TO om de gegevens naar een CSV-bestand te exporteren. U moet de brontabel en het pad naar het doelbestand opgeven. Deze keer moet het pad absoluut zijn:

KOPIEER medewerkers NAAR '/tmp/employees.csv' CSV-KOP;

Als u slechts enkele rijen uit de database hoeft te exporteren, gebruikt u de opdracht SELECT als volgt:

KOPIE (SELECT * FROM medewerkers waar voornaam='Moyna') TOT '/tmp/employees-moyna.csv' CSV-KOP;

CSV-bestanden exporteren aan de clientzijde

Om gegevens aan de clientzijde te exporteren, gebruikt u de \kopiëren commando en de TOT trefwoord in de psql-opdrachtprompt:

\kopie medewerkers NAAR 'pad-naar-bestand.csv' CSV-header;

Een database-adapter gebruiken

U hoeft de terminal niet te gebruiken om een ​​CSV-bestand te importeren. U kunt de gegevens importeren via een cursorobject met de programmeertaal van uw voorkeur. Als u bijvoorbeeld met Python werkt, kunt u verbinding maken met de PostgreSQL-server en de KOPIËREN opdracht.

Hiervoor moet je Python verbinden met Postgres via een database-adapter zoals psychopg2.

pip installeer psycopg2

Maak verbinding met de database met behulp van de volgende code:

importeren psychopg2;

verbinding = psycopg.connect(
database="employee_db",
host = "lokale host"
gebruiker = "postgres",
wachtwoord = "wachtwoord",
)

Maak vervolgens een cursorobject en gebruik het om het COPY-commando uit te voeren:

cursor = verbinding.cursor()

cursor.execute(
"COPY medewerkers (id, voornaam, achternaam, e-mail)
VAN '/tmp/sample.csv'
DELIMITER ','
CSV-KOP;"
)

verbinding.close()

Beheer uw PostgreSQL-gegevens met het gemak van CSV

Het is een eenvoudig proces om gegevens te importeren en exporteren met PostgreSQL- en CSV-bestanden. U kunt de psql-opdrachten op de client of server gebruiken, of programmatisch een database-adapter gebruiken.

Als je meer een GUI-persoon bent, overweeg dan om de pgAdmin-tool te gebruiken. Het is een open-source GUI-toepassing waarmee u gegevens nog gemakkelijker kunt importeren en exporteren.