Comment réparer en Python : ValueError : données de fin



Une erreur que vous pouvez rencontrer lors de l’utilisation de Python est :

ValueError: Trailing data

Cette erreur se produit généralement lorsque vous tentez d’importer un fichier JSON dans un DataFrame pandas, mais les données sont écrites dans des lignes séparées par des lignes de fin comme « \n ».

Le moyen le plus simple de corriger cette erreur consiste simplement à spécifier lines=True lors de l’importation des données :

df = pd.read_json('my_data.json', lines=True)

L’exemple suivant montre comment corriger cette erreur dans la pratique.

Comment reproduire l’erreur

Supposons que nous ayons le fichier JSON suivant :

Supposons maintenant que nous essayions d’importer ce fichier JSON dans un DataFrame pandas :

#attempt to import JSON file into pandas DataFrame
df = pd.read_json('Documents/DataFiles/my_data.json')

ValueError: Trailing data

Nous recevons une erreur car l’élément « Review » de notre fichier JSON contient \n pour représenter les lignes de fin.

Comment réparer l’erreur

Le moyen le plus simple de corriger cette erreur consiste simplement à spécifier lines=True lors de l’importation des données :

#import JSON file into pandas DataFrame
df = pd.read_json('Documents/DataFiles/my_data.json', lines=True)

#view DataFrame
df

	ID	Rating	Review
0	A	8	Great movie.\nI would recommend it.
1	B	5	Mediocre movie.\nWould not recommend it.
2	C	3	Bad movie.\nI would not recommend.
3	D	7	Decent movie.\nI might recommend it.

Notez que nous sommes en mesure d’importer avec succès le fichier JSON dans un DataFrame pandas sans aucune erreur.

Si nous souhaitons supprimer les lignes de fin \n de la colonne « Révision », nous pouvons utiliser la syntaxe suivante :

#replace \n with empty space in 'Review' column
df['Review'] = df['Review'].str.replace('\n', ' ')

#view updated DataFrame
df

	ID	Rating	Review
0	A	8	Great movie. I would recommend it.
1	B	5	Mediocre movie. Would not recommend it.
2	C	3	Bad movie. I would not recommend.
3	D	7	Decent movie. I might recommend it.

Les valeurs \n sont désormais supprimées de la colonne « Révision ».

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :

Comment convertir un DataFrame Pandas en fichier JSON
Comment convertir un fichier JSON en Pandas DataFrame

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *