CSV-tiedostot yksinkertaistavat tietojen tallennusprosessia. Koska muoto on rivi- ja sarakepohjainen, CSV muuntuu hyvin relaatiotietokannaksi.
CSV-tiedoston tuominen tietokantaan ja vienti tietokannasta CSV-tiedostoon on helppoa. On olemassa muutamia erilaisia tekniikoita, joita voit käyttää PostgreSQL: n kanssa.
Luo CSV-tiedosto
Tässä on esimerkki CSV-tiedoista, joita voit käyttää luo oma CSV-tiedosto:
id, etunimi, sukunimi, sähköposti
1,Riannon,Pulsifer,Riannon.Pulsifer@esimerkki.com
2,Moyna,Palocz,Moyna.Palocz@esimerkki.com
3,Roslyn,Bearnard,Roslyn.Bearnard@esimerkki.com
4,Gloria,Aldric,Gloria.Aldric@esimerkki.com
5,Felice,Greenwald,Felice.Greenwald@esimerkki.com
Ennen kuin tuot CSV-tiedoston PostgreSQL-tietokanta, sinun on luotava taulukko, joka vastaa CSV-tiedostomuotoa. Luo Postgres-taulukko käyttämällä seuraavaa koodia.
LUODAPÖYTÄ työntekijät(idintEITYHJÄ,
etunimi char (20),
sukunimi char (20),
sähköpostimerkki (50));
Tuo CSV-tiedostot PostgreSQL: ään
Voit tuoda CSV-tiedostoja Postgres-taulukkoon palvelimella tai asiakaskoneella.
Tuo CSV-tiedostoja palvelinpuolella
Tuo CSV-tiedosto PostgreSQL-palvelimeen käyttämällä PostgreSQL COPY -komentoa ja FROM-avainsanaa. Tämän avulla voit kopioida tietoja CSV-tiedostosta Postgres-taulukkoon, jos rakenne vastaa. Kopioi malli-CSV-tiedosto työntekijätaulukkoon käyttämällä seuraavaa koodia:
COPY työntekijät (tunnus, etunimi, sukunimi, sähköpostiosoite)
FROM '/tmp/sample.csv'
DELIMITER ','
CSV HEADER;
Yllä olevan esimerkin polku on ehdoton. Voit halutessasi käyttää polkua suhteessa Postgres-tietohakemistoosi.
Voit kopioida tiedot otsikoiden kanssa tai ilman, joten voit jättää viimeisen koodirivin pois, jos et tarvitse niitä.
Tuo CSV-tiedostoja asiakaspuolella
Käytä asiakaskoneessa psql: ää \kopio -komento tuodaksesi CSV-tiedoston. Suorita seuraava koodi psql-komentokehotteessa kopioidaksesi malli-CSV-tiedosto työntekijöiden taulukkoon.
\copy työntekijät FROM '/tmp/sample.csv' DELIMITER ',' CSV HEADER;
Vie CSV-tiedostoja PostgreSQL: stä
Kuten tuonnin yhteydessä, voit myös viedä CSV-tiedoston palvelin- tai asiakaspuolelle.
Vie CSV-tiedostoja palvelinpuolella
Käytä COPY-komentoa ja TO-avainsanaa viedäksesi tiedot CSV-tiedostoon. Sinun on määritettävä lähdetaulukko ja polku kohdetiedostoon. Tällä kertaa polun on oltava ehdoton:
KOPIOI työntekijät '/tmp/employees.csv' CSV HEADER;
Jos sinun täytyy viedä tietokannasta vain osa riveistä, käytä SELECT-komentoa seuraavasti:
COPY (SELECT * FROM työntekijät jossa etunimi='Moyna') TO '/tmp/employees-moyna.csv' CSV HEADER;
Vie CSV-tiedostoja asiakaspuolella
Vie dataa asiakaspuolelta käyttämällä \kopio komento ja TO avainsana psql-komentokehotteessa:
\copy työntekijät TO 'polku tiedostoon.csv' CSV-otsikko;
Tietokantasovittimen käyttäminen
Sinun ei tarvitse käyttää päätettä CSV-tiedoston tuomiseen. Voit tuoda tiedot kohdistinobjektin kautta käyttämällä haluamaasi ohjelmointikieltä. Jos esimerkiksi työskentelet Pythonin kanssa, voit muodostaa yhteyden PostgreSQL-palvelimeen ja suorittaa sen KOPIO komento.
Tätä varten sinun on yhdistettävä Python Postgresiin tietokantasovittimen, kuten esim psycopg2.
pip asennus psycopg2
Yhdistä tietokantaan seuraavalla koodilla:
tuonti psycopg2;
yhteys = psycopg.connect(
tietokanta="työntekijä_db",
host="localhost"
user="postgres",
salasana="salasana",
)
Luo sitten kohdistinobjekti ja käytä sitä COPY-komennon suorittamiseen:
kursori = yhteys.kursori()
cursor.execute(
"COPY työntekijät (tunnus, etunimi, sukunimi, sähköpostiosoite)
LÄHETTÄJÄ '/tmp/sample.csv'
DELIMITER ','
CSV HEADER;"
)
connect.close()
Hallitse PostgreSQL-tietojasi kätevästi CSV: n avulla
Tietojen tuonti ja vienti PostgreSQL- ja CSV-tiedostojen avulla on yksinkertainen prosessi. Voit käyttää psql-komentoja asiakkaalla tai palvelimella tai käyttää tietokantasovitinta ohjelmallisesti.
Jos olet enemmän graafinen käyttöliittymä, harkitse pgAdmin-työkalun käyttöä. Se on avoimen lähdekoodin GUI-sovellus, jonka avulla voit tuoda ja viedä tietoja entistä helpommin.