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
Freigeben: 2024-12-06 19:04:12
Original
807 Leute haben es durchsucht

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
Nach dem Login kopieren

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"]])
Nach dem Login kopieren

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")])
Nach dem Login kopieren

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")])
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage