Comment lire un fichier CSV d’une chaîne dans Pandas DataFrame
Vous pouvez utiliser la syntaxe de base suivante pour lire un fichier CSV à partir d’une chaîne dans un DataFrame pandas :
import pandas as pd import io df = pd.read_csv(io.StringIO(some_string), sep=",")
Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.
Exemple 1 : Lire un fichier CSV à partir d’une chaîne avec des virgules comme séparateurs
Le code suivant montre comment lire un fichier CSV à partir d’une chaîne (avec des virgules comme séparateurs) dans un DataFrame pandas :
import pandas as pd import io some_string="""team,points,rebounds A,22,10 B,14,9 C,29,6 D,30,2 E,22,9 F,31,10""" #read CSV string into pandas DataFrame df = pd.read_csv(io.StringIO(some_string), sep=",") #view resulting DataFrame print(df) team points rebounds 0 A 22 10 1 B 14 9 2 C 29 6 3 D 30 2 4 E 22 9 5 F 31 10
Le DataFrame pandas résultant contient les valeurs de la chaîne CSV.
Exemple 2 : Lire un fichier CSV à partir d’une chaîne avec un point-virgule comme séparateur
Le code suivant montre comment lire un fichier CSV à partir d’une chaîne (avec des points-virgules comme séparateurs) dans un DataFrame pandas :
import pandas as pd import io some_string="""team;points;rebounds A;22;10 B;14;9 C;29;6 D;30;2 E;22;9 F;31;10""" #read CSV string into pandas DataFrame df = pd.read_csv(io.StringIO(some_string), sep=";") #view resulting DataFrame print(df) team points rebounds 0 A 22 10 1 B 14 9 2 C 29 6 3 D 30 2 4 E 22 9 5 F 31 10
Le DataFrame pandas résultant contient les valeurs de la chaîne CSV.
Exemple 3 : Lire un fichier CSV à partir d’une chaîne sans en-tête
Le code suivant montre comment lire un fichier CSV à partir d’une chaîne (sans ligne d’en-tête) dans un DataFrame pandas :
import pandas as pd import io some_string="""A;22;10 B;14;9 C;29;6 D;30;2 E;22;9 F;31;10""" #read CSV string into pandas DataFrame df = pd.read_csv(io.StringIO(some_string), sep=";", header=None) #view resulting DataFrame print(df) 0 1 2 0 A 22 10 1 B 14 9 2 C 29 6 3 D 30 2 4 E 22 9 5 F 31 10
En utilisant l’argument header=None , nous avons dit aux pandas de ne pas utiliser la première ligne comme ligne d’en-tête.
Par défaut, pandas utilise une plage de valeurs numériques (0, 1, 2) comme noms de colonnes pour le DataFrame.
Remarque : Vous pouvez trouver la documentation complète de la fonction pandas read_csv() ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes en Python :
Pandas : Comment ignorer des lignes lors de la lecture d’un fichier CSV
Pandas : Comment ajouter des données à un fichier CSV existant
Pandas : Comment lire un fichier CSV sans en-tête
Pandas : définir les noms de colonnes lors de l’importation d’un fichier CSV