Pourquoi « TypeError : les indices de chaîne doivent être des entiers » avec les données de problème GitHub ?
Lors de la conversion des données de problème GitHub du format JSON au format CSV à l'aide Python, les programmeurs peuvent rencontrer l'erreur « TypeError : les indices de chaîne doivent être des entiers ». Pour résoudre ce problème, il est crucial de comprendre la nature de l'erreur et d'apporter les ajustements nécessaires au code.
Le message d'erreur indique une incompatibilité entre les index basés sur des nombres entiers attendus et les index de chaîne utilisés dans le code. Lorsque vous travaillez avec des chaînes, l'accès à des caractères spécifiques à l'aide d'index entiers est valide. Cependant, cette approche n'est pas applicable à d'autres objets, tels que des dictionnaires ou des listes.
L'examen du code fourni révèle que le problème réside dans la ligne suivante :
csv_file.writerow([item["gravatar_id"], item["position"], item["number"]]), item["position"], item["number"]])Ici, item est un dictionnaire, et ses clés, à savoir "gravatar_id", « position » et « numéro » représentent les valeurs en cours d'écriture dans le fichier CSV. L'erreur se produit car les dictionnaires utilisent des clés de chaîne pour accéder à leurs valeurs, et non des index entiers.Pour résoudre ce problème, il est essentiel de modifier le code pour utiliser des index de chaîne au lieu d'index entiers. Le code corrigé devrait ressembler à ceci :
csv_file.writerow([item["gravatar_id"], str(item["position"]), str(item["number"])])csv_file.writerow([item["gravatar_id"], str(item["position"]), str(item["number"])])
En convertissant les valeurs numériques en chaînes, le code peut réussir à écrire les données dans le fichier CSV sans rencontrer l'erreur "TypeError : les indices de chaîne doivent être des entiers". erreur.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3