Удаление заголовков столбцов Tablib Dataset неожиданно пропускается в Django Import Export

У меня есть файл csv с таким образцом данных:

enter image description here

в которой я пытаюсь модифицировать функцию django-import-export before_import и перезаписать набор данных, и для этого мне нужно очистить текущий набор данных и заменить его новым. Вот как я это делаю:

def before_import(self, dataset, using_transactions, dry_run, **kwargs):
    """
    code to create a new_dataset
    """

    print(dataset.headers)
    # delete data rows in dataset
    del dataset[0:len(dataset)]
    # delete headers
    for header in dataset.headers:
        del dataset[header]

    print(dataset)

    """
    code to replace dataset with the new_dataset
    """

Показанный код удаляет данные набора данных и его заголовки. Но печать показывает, что не все заголовки удалены.

enter image description here

Пропускает удаляемые заголовки, точнее, чередует их удаление.

Есть ли здесь что-то, что я упускаю?

При удалении содержимого массива внутри цикла FOR LOOP, который также использует этот массив в качестве ссылки для цикла for, возникает ошибка памяти.

Для надежности сначала скопируйте массив:

import copy
...
reference_array = copy.copy(dataset.headers)

Затем используйте это как ссылку для удаления цикла for

for header in reference_array:
     del dataset[header]
Вернуться на верх