Comment charger des données à partir d'un fichier texte dans Pandas

Asad Riaz 30 janvier 2023
  1. Méthode read_csv() pour charger les données du fichier texte
  2. Méthode read_fwf() pour charger un fichier texte formaté en largeur dans le Pandas DataFrame
  3. Méthode read_table() pour charger le fichier texte dans le Pandas DataFrame
Comment charger des données à partir d'un fichier texte dans Pandas

Nous allons présenter les méthodes pour charger les données d’un fichier txt avec Pandas DataFrame. Nous passerons également en revue les options disponibles.

Tout d’abord, nous allons créer un simple fichier texte appelé sample.txt et ajouter les lignes suivantes au fichier:

45 apple orange banana mango
12 orange kiwi onion tomato

Nous devons l’enregistrer dans le même répertoire que celui où le script Python sera exécuté.

Méthode read_csv() pour charger les données du fichier texte

La fonction read_csv() est la meilleure façon de convertir un fichier text en Pandas DataFrame. Nous devons mettre header=None car nous n’avons pas de header dans le fichier créé ci-dessus. Nous pouvons aussi mettre keep_default_na=False dans la méthode si nous voulons remplacer les valeurs vides par NaN.

Exemples de codes:

# python 3.x
import pandas as pd

df = pd.read_csv("sample.txt", sep=" ", header=None)
print(df)

Production:

    0       1       2       3       4
0  45   apple  orange  banana   mango
1  12  orange    kiwi   onion  tomato

Nous définissons sep=" " parce que les valeurs sont séparées par un seul espace blanc. De même, nous pouvons mettre sep="," si nous lisons des données à partir d’un fichier séparé par des virgules. Remplacez les espaces blancs à l’intérieur de sample.txt par , puis exécutez le code après avoir remplacé sep=" " par sep=",".

Sample.txt

45,apple,orange,banana,mango
12,orange,kiwi,,tomato

Code:

# python 3.x
import pandas as pd

df = pd.read_csv("sample.txt", sep=",", header=None)
print(df)

Production:

    0       1       2       3       4
0  45   apple  orange  banana   mango
1  12  orange    kiwi     NaN  tomato

Méthode read_fwf() pour charger un fichier texte formaté en largeur dans le Pandas DataFrame

read_fwf() est très utile pour charger un fichier texte formaté en largeur. Nous ne pouvons pas utiliser sep car différentes valeurs peuvent avoir des délimiteurs différents. Considérons le fichier texte suivant:

Sample.txt

45 apple  orange banana mango
12 orange kiwi   onion  tomato

Dans le fichier Sample.text, le délimiteur n’est pas le même pour toutes les valeurs. Donc read_fwf() fera le travail ici.

Code:

# python 3.x
import pandas as pd

df = pd.read_fwf("sample.txt", header=None)
print(df)

Production:

    0       1       2       3       4
0  45   apple  orange  banana   mango
1  12  orange    kiwi   onion  tomato

Méthode read_table() pour charger le fichier texte dans le Pandas DataFrame

La fonction read_table() est une autre approche pour charger les données d’un fichier text vers une Pandas DataFrame.

Sample.txt:

45 apple orange banana mango
12 orange kiwi onion tomato

Code:

# python 3.x
import pandas as pd

df = pd.read_table("sample.txt", header=None, sep=" ")
print(df)

Production:

    0       1       2       3       4
0  45   apple  orange  banana   mango
1  12  orange    kiwi   onion  tomato