Удаление заголовков столбцов Tablib Dataset неожиданно пропускается в Django Import Export
У меня есть файл csv
с таким образцом данных:
в которой я пытаюсь модифицировать функцию 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
"""
Показанный код удаляет данные набора данных и его заголовки. Но печать показывает, что не все заголовки удалены.
Пропускает удаляемые заголовки, точнее, чередует их удаление.
Есть ли здесь что-то, что я упускаю?
При удалении содержимого массива внутри цикла FOR LOOP, который также использует этот массив в качестве ссылки для цикла for, возникает ошибка памяти.
Для надежности сначала скопируйте массив:
import copy
...
reference_array = copy.copy(dataset.headers)
Затем используйте это как ссылку для удаления цикла for
for header in reference_array:
del dataset[header]