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