Warum „TypeError: String-Indizes müssen ganze Zahlen sein“ mit GitHub-Problemdaten?
Beim Konvertieren von GitHub-Problemdaten vom JSON-Format in CSV mit Python, Programmierer können auf den Fehler „TypeError: String-Indizes müssen Ganzzahlen sein“ stoßen. Um dieses Problem zu beheben, ist es wichtig, die Art des Fehlers zu verstehen und die erforderlichen Anpassungen am Code vorzunehmen.
Die Fehlermeldung weist auf eine Nichtübereinstimmung zwischen den erwarteten ganzzahlbasierten Indizes und den im verwendeten String-Indizes hin Code. Beim Arbeiten mit Strings ist der Zugriff auf bestimmte Zeichen über Integer-Indizes zulässig. Dieser Ansatz ist jedoch nicht auf andere Objekte wie Wörterbücher oder Listen anwendbar.
Eine Untersuchung des bereitgestellten Codes zeigt, dass das Problem in der folgenden Zeile liegt:
csv_file.writerow([item["gravatar_id"], item["position"], item["number"]]), item["position"], item["number"]])Hier ist item ein Wörterbuch und seine Schlüssel, nämlich „gravatar_id“, „position“ und „number“ stellen die Werte dar, die in die CSV-Datei geschrieben werden. Der Fehler tritt auf, weil Wörterbücher für den Zugriff auf ihre Werte Zeichenfolgenschlüssel und keine ganzzahligen Indizes verwenden.Um dieses Problem zu beheben, muss der Code unbedingt geändert werden, um Zeichenfolgenindizes anstelle von ganzzahligen Indizes zu verwenden. Der korrigierte Code sollte wie folgt aussehen:
csv_file.writerow([item["gravatar_id"], str(item["position"]), str(item["number"])])csv_file.writerow([item["gravatar_id"], str(item["position"]), str(item["number"])])
Durch die Konvertierung der numerischen Werte in Zeichenfolgen kann der Code die Daten erfolgreich in die CSV-Datei schreiben, ohne dass der Fehler „TypeError: Zeichenfolgenindizes müssen Ganzzahlen sein“ auftritt. Fehler.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3