@Mestik

Python ошибка TypeError: list indices must be integers or slices, not str, не получается разобраться?

import requests
import time
ozon_packaging = requests.post("https://api-seller.ozon.ru/v3/posting/fbs/unfulfilled/list", headers = {'Client-Id':'XXXXX','Api-Key': 'XXXXXXXXXXXXXX',},json = {'dir': 'asc','filter': {'status': 'awaiting_packaging','cutoff_from': '2023-01-01T14:15:22Z','cutoff_to': '2024-01-01T14:15:22Z'},'limit': '100','offset': '0',})
for i in range(len(ozon_packaging.json()['result']['postings'])):
    zakaz = ozon_packaging.json()['result']['postings'][i]
    tovar = []
    for a in range(len(zakaz["products"])): tovar.append({"product_id": zakaz["products"][a]["sku"], "quantity": zakaz["products"][a]["quantity"]})
    print(tovar)  # Товар и количество купленный в заказе
    print(type(tovar))
    # Сборка заказа

    ozon_packaging = requests.post("https://api-seller.ozon.ru/v4/posting/fbs/ship",
                            headers={'Client-Id': 'XXXXXXXX', 'Api-Key': 'XXXXXXXXXXXXXX'},
                            json={'posting_number': zakaz["posting_number"],
                                  'packages': [{"products": tovar}],
                                  'with': {"additional_data": True}})
    print("собрал")


Ошибка выходит только после второй итерации первого for, первая итерация отрабатывает корректно. Не могу понять в чём дело.

Полный текст ошибки:
Traceback (most recent call last):
File "C:\Users\admin\PycharmProjects\OZON\main.py", line 12, in
zakaz = ozon_packaging.json()['result']['postings'][i]
TypeError: list indices must be integers or slices, not str
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Скорее всего проблема в том, что вы переменную ozon_packaging перезаписываете на первой итерации данными имеющими другую структуру.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 01:31
1000 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект