So beheben Sie in Python: ValueError: Trailing data

Von Fabian
Kategorie: Python
Lesezeit: 2 Minuten

Ein Fehler, auf den Sie bei der Verwendung von Python stoßen können, ist:

ValueError: Trailing data

Dieser Fehler tritt normalerweise auf, wenn Sie versuchen, eine JSON-Datei in einen Pandas-Dataframe zu importieren, die Daten jedoch in Zeilen geschrieben werden, die durch Endzeilen wie „ \n “ getrennt sind.

Der einfachste Weg, diesen Fehler zu beheben, besteht darin, beim Importieren der Daten einfach lines=True anzugeben:

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

Das folgende Beispiel zeigt, wie dieser Fehler in der Praxis behoben werden kann.

So reproduzieren Sie den Fehler

Angenommen, wir haben die folgende JSON-Datei:

Json

Nehmen wir nun an, wir versuchen, diese JSON-Datei in einen Pandas DataFrame zu importieren:

# Versuch, eine JSON-Datei in Pandas DataFrame zu importieren
df = pd.read_json('Documents/DataFiles/my_data.json')

ValueError: Trailing data

Wir erhalten eine Fehlermeldung, weil das Element „Review“ in unserer JSON-Datei \n enthält, um Endlines darzustellen.

So beheben Sie den Fehler

Der einfachste Weg, diesen Fehler zu beheben, besteht darin, beim Importieren der Daten einfach lines=True anzugeben:

# JSON-Datei in Pandas DataFrame importieren
df = pd.read_json('Documents/DataFiles/my_data.json', lines=True)

#Dataframe anzeigen
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.

Beachten Sie, dass wir die JSON-Datei ohne Fehler erfolgreich in einen Pandas DataFrame importieren können.

Wenn wir die Endzeilen \n aus der Spalte „Rezension“ entfernen möchten, können wir die folgende Syntax verwenden:

# Ersetzen Sie \n durch ein Leerzeichen in der Spalte „Überprüfung“.
df['Review'] = df['Review'].str.replace('\n', ' ')

#aktualisierten DataFrame anzeigen
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.

Die \n -Werte werden nun aus der Spalte „Bewertung“ entfernt.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere gängige Operationen in Pandas ausführen:

So konvertieren Sie einen Pandas DataFrame in eine JSON-Datei
So konvertieren Sie eine JSON-Datei in Pandas DataFrame

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: