CSV dosyaları, veri depolama sürecini basitleştirir. Biçim satır ve sütun tabanlı olduğundan, CSV ilişkisel bir veritabanına iyi bir şekilde çevrilir.
Bir CSV dosyasını bir veritabanına içe aktarmak ve bir veritabanından bir CSV dosyasına dışa aktarmak kolaydır. PostgreSQL ile bunu yapmak için kullanabileceğiniz birkaç farklı teknik vardır.
CSV Dosyası Oluşturun
İşte kullanabileceğiniz bazı örnek CSV verileri kendi CSV dosyanızı oluşturun:
kimlik, ad, soyadı, e-posta
1,Riannon,pulsifer,Riannon.Pulsifer@örnek.com
2,Moyna,Palocz,Moyna.Palocz@örnek.com
3,roslyn,Bearnard,roslyn.Bearnard@örnek.com
4,Gloria,Aldric,Gloria.Aldric@örnek.com
5,Felice,Greenwald,Felice.Greenwald@örnek.com
CSV dosyasını içe aktarmadan önce PostgreSQL veritabanı, CSV dosya biçimiyle eşleşen bir tablo oluşturmanız gerekir. Postgres tablosu oluşturmak için aşağıdaki kodu kullanın.
OLUŞTURMAKMASA çalışanlar(İDintOLUMSUZLUKHÜKÜMSÜZ,
ilk isim karakteri (20),
soyadı karakter (20),
e-posta karakteri (50));
CSV Dosyalarını PostgreSQL'e Aktarın
CSV dosyalarını sunucudaki veya istemci makinedeki bir Postgres tablosuna aktarabilirsiniz.
Sunucu Tarafında CSV Dosyalarını İçe Aktarın
Bir CSV dosyasını bir PostgreSQL sunucusuna aktarmak için PostgreSQL COPY komutunu ve FROM anahtar sözcüğünü kullanın. Bu, yapının eşleşmesi koşuluyla, bir CSV dosyasındaki verileri bir Postgres tablosuna kopyalamanıza olanak tanır. Örnek CSV dosyasını çalışanlar tablosuna kopyalamak için aşağıdaki kodu kullanın:
KOPYALA çalışanlar (kimlik, ad, soyad, e-posta)
İTİBAREN '/tmp/sample.csv'
AYIRICI ','
CSV BAŞLIĞI;
Yukarıdaki örnekteki yol mutlaktır. İsterseniz Postgres veri dizininize göre bir yol kullanabilirsiniz.
Verileri başlıklarla veya başlıklar olmadan kopyalayabilirsiniz, bu nedenle, ihtiyacınız yoksa son kod satırını atlamaktan çekinmeyin.
İstemci Tarafında CSV Dosyalarını İçe Aktarın
İstemci makinede psql'yi kullanın \kopyala CSV dosyasını içe aktarma komutu. Örnek CSV dosyasını çalışanlar tablosuna kopyalamak için psql komut isteminde aşağıdaki kodu çalıştırın.
\kopyalanan çalışanları '/tmp/sample.csv' AYIRICI ',' CSV BAŞLIĞI;
PostgreSQL'den CSV Dosyalarını Dışa Aktarma
İçe aktarmada olduğu gibi, bir CSV dosyasını sunucu tarafında veya istemci tarafında da dışa aktarabilirsiniz.
Sunucu Tarafında CSV Dosyalarını Dışa Aktarma
Verileri bir CSV dosyasına aktarmak için COPY komutunu ve TO anahtar sözcüğünü kullanın. Kaynak tabloyu ve hedef dosyanın yolunu belirtmeniz gerekir. Bu sefer, yol mutlak olmalıdır:
çalışanları KOPYALA '/tmp/employees.csv' CSV BAŞLIĞI;
Veritabanından yalnızca bazı satırları dışa aktarmanız gerekiyorsa, SELECT komutunu aşağıdaki gibi kullanın:
KOPYALA (Seçin *, ilk adın= olduğu çalışanlardan'Moyna') İLE '/tmp/employees-moyna.csv' CSV BAŞLIĞI;
CSV Dosyalarını İstemci Tarafında Dışa Aktarın
Verileri istemci tarafında dışa aktarmak için \kopyala komut ve İLE psql komut isteminde anahtar kelime:
\ çalışanları 'dosyaya giden yol.csv' CSV başlığı;
Veritabanı Bağdaştırıcısı Kullanma
Bir CSV dosyasını içe aktarmak için terminali kullanmanız gerekmez. Tercih ettiğiniz programlama dilini kullanarak verileri bir imleç nesnesi aracılığıyla içe aktarabilirsiniz. Örneğin Python ile çalışıyorsanız PostgreSQL sunucusuna bağlanabilir ve aşağıdaki işlemleri gerçekleştirebilirsiniz. KOPYALA emretmek.
Bunun için Python'u Postgres'e aşağıdaki gibi bir veritabanı bağdaştırıcısı aracılığıyla bağlamanız gerekir. psikopg2.
pip kurulumu psycopg2
Aşağıdaki kodu kullanarak veritabanına bağlanın:
içe aktarmak psikopg2;
bağlantı = psycopg.connect(
veritabanı = "çalışan_db",
ana bilgisayar = "yerel ana bilgisayar"
kullanıcı = "postgres",
şifre = "şifre",
)
Ardından bir imleç nesnesi oluşturun ve bunu COPY komutunu yürütmek için kullanın:
imleç = bağlantı.cursor()
imleç.execute(
"KOPYALAMA çalışanları (kimlik, ad, soyadı, e-posta)
'/tmp/sample.csv'den
AYIRICI ','
CSV BAŞLIĞI;"
)
bağlantı.kapat()
PostgreSQL Verilerinizi CSV Kolaylığıyla Yönetin
PostgreSQL ve CSV dosyalarını kullanarak verileri içe ve dışa aktarmak basit bir işlemdir. İstemcide veya sunucuda psql komutlarını kullanabilir veya programlı olarak bir veritabanı bağdaştırıcısı kullanabilirsiniz.
Daha çok bir GUI kullanıcısıysanız, pgAdmin aracını kullanmayı düşünün. Verileri daha da kolay içe ve dışa aktarmanıza yardımcı olabilecek açık kaynaklı bir GUI uygulamasıdır.