Spécifier la ligne d'en-tête dans read_csv
Dans cette étape, nous allons explorer le paramètre header de la fonction read_csv.
Par défaut, read_csv suppose que la première ligne non commentée et non ignorée de votre fichier est la ligne d'en-tête contenant les noms des colonnes. Dans notre fichier data.csv, après avoir ignoré les lignes de commentaires, la ligne id,name,age,city est correctement déduite comme en-tête.
Le paramètre header vous permet de spécifier explicitement quelle ligne utiliser comme en-tête. Il prend un entier représentant l'indice de la ligne (en commençant par 0). Comme la première ligne de données (après les commentaires) est notre en-tête, son indice est 0.
Modifions le fichier main.py pour définir explicitement header=0. Bien que ce soit le comportement par défaut dans notre cas, être explicite peut éviter des erreurs avec des fichiers formatés de manière inhabituelle.
Mettez à jour votre main.py avec le code suivant :
import pandas as pd
## Explicitly specify that the first row (index 0) after comments is the header
df = pd.read_csv('data.csv', comment='#', header=0)
print(df)
Exécutez à nouveau le script depuis le terminal :
python3 main.py
La sortie sera identique à l'étape précédente, car nous n'avons fait que confirmer le comportement par défaut. Cette pratique est utile pour la clarté et la robustesse du code.
id name age city
0 1 Alice 25 New York
1 2 Bob 30 Los Angeles
2 3 Charlie Not Available London
3 4 David 35 N/A
4 5 Eve 22 Paris