CommencerCommencer gratuitement

Charger un CSV dans une table

Excellent travail jusqu’ici pour insérer des données dans des tables ! Vous allez maintenant apprendre à charger le contenu d’un fichier CSV dans une table.

Une première méthode consiste à lire le fichier CSV ligne par ligne, créer un dictionnaire pour chaque ligne, puis utiliser insert(), comme vous l’avez fait dans l’exercice précédent.

Mais il existe une méthode plus rapide avec pandas. Vous pouvez lire un fichier CSV dans un DataFrame avec la fonction read_csv() (cette fonction vous est sans doute familière ; vous pouvez lancer help(pd.read_csv) dans la console pour vous rafraîchir la mémoire). Ensuite, appelez la méthode .to_sql() (docs) sur le DataFrame pour le charger dans une table SQL d’une base de données. Les colonnes du DataFrame doivent correspondre à celles de la table SQL.

.to_sql() possède de nombreux paramètres, mais dans cet exercice nous utiliserons les suivants :

  • name est le nom de la table SQL (chaîne de caractères).
  • con est la connexion à la base de données que vous utiliserez pour envoyer les données.
  • if_exists indique le comportement si la table existe déjà dans la base ; valeurs possibles : "fail", "replace" et "append".
  • index (True ou False) indique s’il faut écrire l’index du DataFrame comme une colonne.

Dans cet exercice, vous allez charger les données du fichier census.csv dans une table existante "census". La connection à la base de données a déjà été créée pour vous.

Cet exercice fait partie du cours

Introduction aux bases de données en Python

Afficher le cours

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# import pandas
import pandas as pd

# read census.csv into a DataFrame : census_df
census_df = pd.___(___, ___=___)

# rename the columns of the census DataFrame
census_df.columns = [___, ___, ___, 'pop2000', 'pop2008']
Modifier et exécuter le code