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

  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 dataframe de Pandas
  3. Méthode read_table() pour charger le fichier texte dans le dataframe de 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 texte 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 dataframe de Pandas

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 dataframe de Pandas

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

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