Как правильно записать словарь в файл?

Код:

    for tr_time in trs:     
        time_game = tr_time.find('td', class_='first time')
        if time_game:
            clear_time_game = time_game.text[:5]
            # print(clear_time_game)
            
            data.append = {'clear_time_game': clear_time_game,
                           '2': 2,
                           '1': 1}




if __name__ == '__main__':
    main()

Собирается много данных, но в файл записывается только последняя запись, почему? Возможно переменные, которые хранят данные постоянно переопределяются, помогите разобраться.


Ответы (1 шт):

Автор решения: Jack_oS

Вы перезаписываете данные в data, в итоге там - последнее значение...

data = {'clear_time_game': clear_time_game,
            'name': name,
            'url_players': url_players}

Сместите write_csv(data) в тело цикла, должно получиться как-то так:

for tr_time in trs:     
        time_game = tr_time.find('td', class_='first time')
        if time_game:
            clear_time_game = time_game.text[:5]
            print(clear_time_game)

            data = {
                'clear_time_game': clear_time_game
                'name': name,
                'url_players': url_players}
            
            write_csv(data)

→ Ссылка