Comment charger des données à partir d'un fichier texte dans Pandas
-
Méthode
read_csv()pour charger les données du fichier texte -
Méthode
read_fwf()pour charger un fichier texte formaté en largeur dans le PandasDataFrame -
Méthode
read_table()pour charger le fichier texte dans le PandasDataFrame
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