@killeryStark

Как обойти ошибку MemmoryError в обновлении словорей внутри списка?

я получаю словарь из 50 значений по апи wb и перед записью в бд необходимо добавить в каждый словарь списка текущую дату выгрузки. Построчно записывать не вариант.

на 30 значении получаю Memmory Error
import requests
import datetime
from pymongo import MongoClient
import json


mongo_token = ""
db = MongoClient(mongo_token)
db = db.WB

add_date = datetime.date.today()
date = "2021-04-10"
print(date)
token = ""
url = f"https://suppliers-stats.wildberries.ru/api/v1/supplier/sales?dateFrom={date}T00%3A00%3A00.000Z&flag=0&key={token}"
sales = requests.get(url)
sales = json.loads(sales.text)
print(sales)
print(len(sales))
count = 0
data = []
for s in sales:
    date = {"add_date": str(date)}
    print(count)
    s.update(date)
    data.append(s)
    count+=1

print(data)
db.sales.insert_many(sales)
  • Вопрос задан
  • 40 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Потому что перезаписываете переменную date и после первой же итерации она перестаёт быть строкой, становится словарём, глубина которого будет расти с каждой итерацией.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Сбер Санкт-Петербург
от 100 000 до 100 000 ₽
Ovision Санкт-Петербург
от 100 000 до 300 000 ₽
07 мая 2021, в 19:42
200 руб./за проект
07 мая 2021, в 19:36
2000 руб./за проект
07 мая 2021, в 19:32
20000 руб./за проект