Heim >Backend-Entwicklung >Python-Tutorial >Warum erhalte ich beim Konvertieren von JSON in CSV in Python die Fehlermeldung „TypeError: String-Indizes müssen Ganzzahlen sein'?
In Ihrem Python-Code zum Parsen von JSON und Wenn Sie es in CSV konvertieren, tritt der Fehler „TypeError: String-Indizes müssen Ganzzahlen sein“ auf. Um dieses Problem zu beheben, wollen wir uns mit dem zugrunde liegenden Problem befassen und eine Lösung anbieten.
Der Fehler „TypeError: String-Indizes müssen Ganzzahlen sein“ weist darauf hin, dass Sie versuchen, über einen Index auf eine Variable vom Typ String zuzugreifen. In Ihrem Fall versuchen Sie, mithilfe von Indizes auf die Werte eines JSON-Objekts zuzugreifen.
Zum Beispiel in Ihrem Code-Snippet:
csv_file.writerow([item["gravatar_id"], item["position"], item["number"]])
Sie versuchen, auf die Werte verschiedener zu zugreifen Felder im JSON-Objekt mithilfe von Indexnamen wie „gravatar_id“, „position“ und „number“. Diese Felder sind jedoch keine Indizes, sondern Schlüssel eines wörterbuchähnlichen Objekts.
Um diesen Fehler zu beheben und korrekt auf die Feldwerte des JSON-Objekts zuzugreifen, müssen Sie die Wörterbuchzugriffssyntax verwenden. Hier ist der korrigierte Code mit der Funktion JSON.loads():
import json import csv with open('issues.json', 'r') as f: data = json.load(f) with open('issues.csv', 'wb+') as f: csv_file = csv.writer(f) csv_file.writerow(["gravatar_id", "position", "number"]) for item in data['issues']: csv_file.writerow([item.get('gravatar_id'), item.get('position'), item.get('number')])
Dieser Code verwendet die Methode get(), um die Werte der angegebenen Felder aus dem wörterbuchähnlichen JSON-Objekt abzurufen.
Indem Sie die falsche String-Indizierung durch die richtige Wörterbuchzugriffssyntax ersetzen, können Sie die JSON-Datei erfolgreich analysieren und die gewünschten Werte in die CSV-Datei extrahieren, ohne auf die Fehlermeldung „String-Indizes müssen“ stoßen Fehler „Ganzzahlen“.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Konvertieren von JSON in CSV in Python die Fehlermeldung „TypeError: String-Indizes müssen Ganzzahlen sein'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!