Les fichiers CSV simplifient le processus de stockage des données. Comme le format est basé sur des lignes et des colonnes, CSV se traduit bien en une base de données relationnelle.
Il est facile d'importer un fichier CSV dans une base de données et d'exporter d'une base de données vers un fichier CSV. Il existe différentes techniques que vous pouvez utiliser pour le faire avec PostgreSQL.
Créer un fichier CSV
Voici quelques exemples de données CSV que vous pouvez utiliser pour créez votre propre fichier CSV:
identifiant, prénom, nom, email
1,Riannon,Pulsifère,Riannon.Pulsifer@Exemple.com
2,Moyna,Palocz,Moyna.Palocz@Exemple.com
3,Roslyn,Bénard,Roslyn.Béarnard@Exemple.com
4,Gloria,Aldric,Gloria.Aldric@Exemple.com
5,Félix,Greenwald,Félix.Greenwald@Exemple.com
Avant d'importer le fichier CSV dans la base de données PostgreSQL, vous devrez créer un tableau correspondant au format de fichier CSV. Utilisez le code suivant pour créer une table Postgres.
CRÉERTABLE des employés(identifiantentierNE PASNUL,
prénom char (20),
nom de famille char (20),
e-mail (50) );
Importer des fichiers CSV dans PostgreSQL
Vous pouvez importer des fichiers CSV dans une table Postgres sur le serveur ou sur une machine cliente.
Importer des fichiers CSV côté serveur
Pour importer un fichier CSV sur un serveur PostgreSQL, utilisez la commande PostgreSQL COPY et le mot-clé FROM. Cela vous permet de copier des données d'un fichier CSV vers une table Postgres, à condition que la structure corresponde. Utilisez le code suivant pour copier l'exemple de fichier CSV dans la table des employés :
COPIER les employés (identifiant, prénom, nom, email)
DE '/tmp/sample.csv'
DÉLIMITEUR ','
EN-TÊTE CSV ;
Le chemin dans l'exemple ci-dessus est absolu. Vous pouvez utiliser un chemin relatif à votre répertoire de données Postgres si vous préférez.
Vous pouvez copier les données avec ou sans en-têtes, alors n'hésitez pas à omettre la dernière ligne de code si vous n'en avez pas besoin.
Importer des fichiers CSV côté client
Sur une machine cliente, utilisez le psql \copie commande pour importer le fichier CSV. Exécutez le code suivant sur l'invite de commande psql pour copier l'exemple de fichier CSV dans la table des employés.
\copier les employés DE '/tmp/sample.csv' DÉLIMITEUR ',' EN-TÊTE CSV ;
Exporter des fichiers CSV depuis PostgreSQL
Comme pour l'importation, vous pouvez également exporter un fichier CSV côté serveur ou côté client.
Exporter des fichiers CSV côté serveur
Utilisez la commande COPY et le mot-clé TO pour exporter les données vers un fichier CSV. Vous devez spécifier la table source et le chemin d'accès au fichier de destination. Cette fois, le chemin doit être absolu :
COPIER les employés À '/tmp/employees.csv' EN-TÊTE CSV ;
Si vous n'avez besoin d'exporter que certaines lignes de la base de données, utilisez la commande SELECT comme suit :
COPY (SELECT * FROM employés où prénom='Moyna') À '/tmp/employees-moyna.csv' EN-TÊTE CSV ;
Exporter des fichiers CSV côté client
Pour exporter des données côté client, utilisez le \copie commande et le À mot-clé dans l'invite de commande psql :
\copier les employés vers 'chemin-du-fichier.csv' en-tête CSV ;
Utilisation d'un adaptateur de base de données
Vous n'avez pas besoin d'utiliser le terminal pour importer un fichier CSV. Vous pouvez importer les données via un objet curseur en utilisant votre langage de programmation préféré. Par exemple, si vous travaillez avec Python, vous pouvez vous connecter au serveur PostgreSQL et exécuter le COPIE commande.
Pour cela, vous devez connecter Python à Postgres via un adaptateur de base de données tel que psycopg2.
pip installer psycopg2
Connectez-vous à la base de données à l'aide du code suivant :
importer psycopg2 ;
connexion = psycopg.connect(
base de données="employee_db",
hôte="hôte local"
utilisateur="postgres",
mot de passe="mot de passe",
)
Créez ensuite un objet curseur et utilisez-le pour exécuter la commande COPY :
curseur = connexion.curseur()
curseur.execute(
"COPIER les employés (identifiant, prénom, nom, email)
FROM '/tmp/exemple.csv'
DÉLIMITEUR ','
EN-TÊTE CSV; "
)
connexion.close()
Gérez vos données PostgreSQL avec la commodité du CSV
C'est un processus simple pour importer et exporter des données à l'aide de fichiers PostgreSQL et CSV. Vous pouvez utiliser les commandes psql sur le client ou le serveur, ou utiliser un adaptateur de base de données par programme.
Si vous êtes plutôt du genre GUI, pensez à utiliser l'outil pgAdmin. Il s'agit d'une application graphique open source qui peut vous aider à importer et exporter des données encore plus facilement.