При попытке преобразовать данные из файла JSON в понятный формат CSV вы можете столкнуться с ошибкой «TypeError: Строковые индексы должны быть целыми числами». Эта ошибка возникает при доступе к полям строки, как если бы это был словарь. Давайте рассмотрим решение.
Чтобы понять причину ошибки, важно отметить, что строки в Python не могут индексироваться, как словари. В словарях ключи доступны как строки, например, словарь["ключ"]. Напротив, доступ к полям строки должен осуществляться с использованием целочисленных индексов, как показано в следующем примере:
mystring = "helloworld" print(mystring[0]) # Outputs 'h', as '0' refers to the first character
В вашем коде вы пытаетесь получить доступ к полям элемента переменная типа string:
csv_file.writerow([item["gravatar_id"], item["position"], item["number"]])
Чтобы решить проблему, преобразуйте переменную item в словарь перед доступом к ее полям:
csv_file.writerow([item.get("gravatar_id"), item.get("position"), item.get("number")])
В качестве альтернативы вы можете использовать функцию load() модуля json для преобразования элемента строку непосредственно в словарь:
item_dict = json.loads(item) csv_file.writerow([item_dict["gravatar_id"], item_dict["position"], item_dict["number")])
Эти изменения гарантируют доступ к полям с использованием целочисленных индексов, устраняя ошибку «TypeError: Строковые индексы должны быть целыми числами». Ошибка.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3