Heim >Backend-Entwicklung >Python-Tutorial >Wie behebe ich „TypeError: String-Indizes müssen ganze Zahlen sein' beim Parsen von JSON-Daten?

Wie behebe ich „TypeError: String-Indizes müssen ganze Zahlen sein' beim Parsen von JSON-Daten?

Linda Hamilton
Linda HamiltonOriginal
2024-12-06 19:04:12864Durchsuche

How to Resolve

Vermeiden von „TypeError: String-Indizes müssen ganze Zahlen sein“

Beim Versuch, Daten aus einer JSON-Datei in ein verständliches CSV-Format zu manipulieren, kann es zu der Fehlermeldung „TypeError: „String-Indizes müssen ganze Zahlen sein“ Fehler. Dieser Fehler tritt auf, wenn auf Felder einer Zeichenfolge zugegriffen wird, als wäre es ein Wörterbuch. Lassen Sie uns die Lösung untersuchen.

Den Fehler verstehen

Um den Fehler zu verstehen, ist es wichtig zu beachten, dass Zeichenfolgen in Python nicht wie Wörterbücher indiziert werden können. In Wörterbüchern kann auf Schlüssel als Zeichenfolgen zugegriffen werden, z. B. dictionary["key"]. Im Gegensatz dazu muss der Zugriff auf Felder einer Zeichenfolge über ganzzahlige Indizes erfolgen, wie im folgenden Beispiel gezeigt:

mystring = "helloworld"
print(mystring[0])  # Outputs 'h', as '0' refers to the first character

Anwenden der Lösung

In Ihrem Code versuchen Sie, auf Felder zuzugreifen der Elementvariablen, die vom Typ Zeichenfolge ist:

csv_file.writerow([item["gravatar_id"], item["position"], item["number"]])

Um das Problem zu beheben, konvertieren Sie die Elementvariable in ein Wörterbuch, bevor Sie darauf zugreifen Felder:

csv_file.writerow([item.get("gravatar_id"), item.get("position"), item.get("number")])

Alternativ können Sie die Funktion „loads()“ des JSON-Moduls verwenden, um die Elementzeichenfolge direkt in ein Wörterbuch umzuwandeln:

item_dict = json.loads(item)
csv_file.writerow([item_dict["gravatar_id"], item_dict["position"], item_dict["number")])

Diese Änderungen stellen sicher, dass Sie auf Felder zugreifen Verwendung von Ganzzahlindizes, Behebung des Fehlers „TypeError: Zeichenfolgenindizes müssen Ganzzahlen sein“.

Das obige ist der detaillierte Inhalt vonWie behebe ich „TypeError: String-Indizes müssen ganze Zahlen sein' beim Parsen von JSON-Daten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn