Τα αρχεία CSV απλοποιούν τη διαδικασία αποθήκευσης δεδομένων. Καθώς η μορφή βασίζεται σε γραμμές και στήλες, το CSV μεταφράζεται καλά σε μια σχεσιακή βάση δεδομένων.

Είναι εύκολο να εισαγάγετε ένα αρχείο CSV σε μια βάση δεδομένων και να εξαγάγετε από μια βάση δεδομένων σε ένα αρχείο CSV. Υπάρχουν μερικές διαφορετικές τεχνικές που μπορείτε να χρησιμοποιήσετε για να το κάνετε αυτό με την PostgreSQL.

Δημιουργήστε ένα αρχείο CSV

Ακολουθούν μερικά δείγματα δεδομένων CSV που μπορείτε να χρησιμοποιήσετε δημιουργήστε το δικό σας αρχείο CSV:

ταυτότητα, όνομα, επώνυμο, email
1,Riannon,Pulsifer,Riannon.Pulsifer@παράδειγμα.com
2,Η Μόινα,Palocz,Η Μόινα.Palocz@παράδειγμα.com
3,Ρόσλιν,Μπέρναρντ,Ρόσλιν.Μπέαρναρντ@παράδειγμα.com
4,Γκλόρια,Aldric,Γκλόρια.Άλντρικ@παράδειγμα.com
5,Felice,Greenwald,Felice.Γκρίνβαλντ@παράδειγμα.com

Πριν από την εισαγωγή του αρχείου CSV τη βάση δεδομένων PostgreSQL, θα χρειαστεί να δημιουργήσετε έναν πίνακα που να ταιριάζει με τη μορφή αρχείου CSV. Χρησιμοποιήστε τον παρακάτω κώδικα για να δημιουργήσετε έναν πίνακα Postgres.

instagram viewer
ΔΗΜΙΟΥΡΓΩΤΡΑΠΕΖΙ υπαλλήλους(ταυτότηταενθΔΕΝΜΗΔΕΝΙΚΟ,
όνομα χαρακτήρων (20),
επώνυμο char (20),
email char (50));

Εισαγωγή αρχείων CSV στο PostgreSQL

Μπορείτε να εισαγάγετε αρχεία CSV σε έναν πίνακα Postgres στον διακομιστή ή σε έναν υπολογιστή-πελάτη.

Εισαγάγετε αρχεία CSV από την πλευρά του διακομιστή

Για να εισαγάγετε ένα αρχείο CSV σε έναν διακομιστή PostgreSQL, χρησιμοποιήστε την εντολή PostgreSQL COPY και τη λέξη-κλειδί FROM. Αυτό σας επιτρέπει να αντιγράψετε δεδομένα από ένα αρχείο CSV σε έναν πίνακα Postgres, με την προϋπόθεση ότι η δομή ταιριάζει. Χρησιμοποιήστε τον ακόλουθο κώδικα για να αντιγράψετε το δείγμα αρχείου CSV στον πίνακα υπαλλήλων:

Υπάλληλοι COPY (ταυτότητα, όνομα, επώνυμο, email)
ΑΠΟ '/tmp/sample.csv'
Οριοθέτης ','
CSV HEADER;

Η διαδρομή στο παραπάνω παράδειγμα είναι απόλυτη. Εάν προτιμάτε, μπορείτε να χρησιμοποιήσετε μια διαδρομή σχετική με τον κατάλογο δεδομένων Postgres.

Μπορείτε να αντιγράψετε τα δεδομένα με ή χωρίς κεφαλίδες, γι' αυτό μη διστάσετε να παραλείψετε την τελευταία γραμμή κώδικα εάν δεν τα χρειάζεστε.

Εισαγάγετε αρχεία CSV στην πλευρά του πελάτη

Σε υπολογιστή-πελάτη, χρησιμοποιήστε το psql \αντίγραφο εντολή για εισαγωγή του αρχείου CSV. Εκτελέστε τον ακόλουθο κώδικα στη γραμμή εντολών psql για να αντιγράψετε το δείγμα αρχείου CSV στον πίνακα υπαλλήλων.

\αντιγραφή υπαλλήλων ΑΠΟ '/tmp/sample.csv' Οριοθέτης ',' CSV HEADER;

Εξαγωγή αρχείων CSV από την PostgreSQL

Όπως και με την εισαγωγή, μπορείτε επίσης να εξαγάγετε ένα αρχείο CSV στην πλευρά του διακομιστή ή στην πλευρά του πελάτη.

Εξαγωγή αρχείων CSV από την πλευρά του διακομιστή

Χρησιμοποιήστε την εντολή COPY και τη λέξη-κλειδί TO για να εξαγάγετε τα δεδομένα σε ένα αρχείο CSV. Πρέπει να καθορίσετε τον πίνακα προέλευσης και τη διαδρομή προς το αρχείο προορισμού. Αυτή τη φορά, η διαδρομή πρέπει να είναι απόλυτη:

ΑΝΤΙΓΡΑΦΗ υπαλλήλων ΠΡΟΣ '/tmp/employees.csv' CSV HEADER;

Εάν χρειάζεται μόνο να εξαγάγετε μερικές από τις σειρές από τη βάση δεδομένων, χρησιμοποιήστε την εντολή SELECT ως εξής:

ΑΝΤΙΓΡΑΦΗ (ΕΠΙΛΟΓΗ * ΑΠΟ υπαλλήλους όπου το όνομα='Η Μόινα') ΠΡΟΣ ΤΗΝ '/tmp/employees-moyna.csv' CSV HEADER;

Εξαγωγή αρχείων CSV από την πλευρά του πελάτη

Για εξαγωγή δεδομένων από την πλευρά του πελάτη, χρησιμοποιήστε το \αντίγραφο εντολή και το ΠΡΟΣ ΤΗΝ λέξη-κλειδί στη γραμμή εντολών psql:

\αντιγραφή υπαλλήλων ΠΡΟΣ 'path-to-file.csv' Κεφαλίδα CSV.

Χρήση προσαρμογέα βάσης δεδομένων

Δεν χρειάζεται να χρησιμοποιήσετε το τερματικό για να εισαγάγετε ένα αρχείο CSV. Μπορείτε να εισαγάγετε τα δεδομένα μέσω ενός αντικειμένου δρομέα χρησιμοποιώντας τη γλώσσα προγραμματισμού που προτιμάτε. Για παράδειγμα, εάν εργάζεστε με Python, μπορείτε να συνδεθείτε στον διακομιστή PostgreSQL και να εκτελέσετε το ΑΝΤΙΓΡΑΦΟ εντολή.

Για αυτό, πρέπει να συνδέσετε την Python με την Postgres μέσω ενός προσαρμογέα βάσης δεδομένων όπως psycopg2.

εγκατάσταση pip psycopg2

Συνδεθείτε στη βάση δεδομένων χρησιμοποιώντας τον ακόλουθο κώδικα:

εισαγωγή psycopg2;

σύνδεση = psycopg.connect(
database="employee_db",
host = "localhost"
user="postgres",
κωδικός "κωδικός πρόσβασης",
)

Στη συνέχεια, δημιουργήστε ένα αντικείμενο δρομέα και χρησιμοποιήστε το για να εκτελέσετε την εντολή COPY:

δρομέας = σύνδεση.cursor()

cursor.execute(
"COPY υπάλληλοι (ταυτότητα, όνομα, επώνυμο, email)
FROM '/tmp/sample.csv'
DELIMITER ","
CSV HEADER;"
)

connect.close()

Διαχειριστείτε τα δεδομένα PostgreSQL σας με την ευκολία του CSV

Είναι μια απλή διαδικασία εισαγωγής και εξαγωγής δεδομένων χρησιμοποιώντας αρχεία PostgreSQL και CSV. Μπορείτε να χρησιμοποιήσετε τις εντολές psql στον πελάτη ή στο διακομιστή ή να χρησιμοποιήσετε έναν προσαρμογέα βάσης δεδομένων μέσω προγραμματισμού.

Εάν είστε περισσότερο άτομο GUI, σκεφτείτε να χρησιμοποιήσετε το εργαλείο pgAdmin. Είναι μια εφαρμογή GUI ανοιχτού κώδικα που μπορεί να σας βοηθήσει να εισάγετε και να εξάγετε δεδομένα ακόμα πιο εύκολα.