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