Почему «TypeError: строковые индексы должны быть целыми числами» с данными о проблемах GitHub?
При преобразовании данных о проблемах GitHub из формата JSON в CSV с использованием Python программисты могут столкнуться с ошибкой «TypeError: строковые индексы должны быть целыми числами». Чтобы решить эту проблему, крайне важно понять природу ошибки и внести необходимые изменения в код.
Сообщение об ошибке указывает на несоответствие между ожидаемыми целочисленными индексами и строковыми индексами, используемыми в код. При работе со строками допустим доступ к определенным символам с использованием целочисленных индексов. Однако этот подход неприменим к другим объектам, таким как словари или списки.
Изучение предоставленного кода показывает, что проблема заключается в следующей строке:
csv_file.writerow([item["gravatar_id"], item["position"], item["number"]]), item["position"], item["number"]])Здесь item — это словарь, а его ключи, а именно «gravatar_id», «position» и «number» представляют собой значения, записываемые в файл CSV. Ошибка возникает из-за того, что словари используют строковые ключи для доступа к своим значениям, а не целочисленные индексы.Чтобы исправить эту проблему, необходимо изменить код, чтобы использовать строковые индексы вместо целочисленных индексов. Исправленный код должен выглядеть следующим образом:
csv_file.writerow([item["gravatar_id"], str(item["position"]), str(item["number"])])csv_file.writerow([item["gravatar_id"], str(item["position"]), str(item["number"])])
Преобразуя числовые значения в строки, код может успешно записать данные в файл CSV, не встречая ошибки «TypeError: строковые индексы должны быть целыми числами».
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3