1
Я застрял часами в этой проблеме csv. Следующий код выполняется после того, как форма размещена:Как читать CSV-файл с POST?
fichier_en_lecture = request.FILES['fichier_csv'].read()
nom_du_fichier = request.FILES['fichier_csv'].name
importateur = request.user
traitement_du_fichier(fichier_en_lecture, importateur)
И функция "traitement_du_fichier" выглядит следующим образом:
def traitement_du_fichier(fichier_en_lecture, nom_du_fichier, importateur):
nouveau_fichier = FichierAdhérents(importateur=importateur, fichier_csv=nom_du_fichier)
nouveau_fichier.save()
import csv
lecteur = csv.reader(fichier_en_lecture, delimiter=",", quotechar='|')
for row in lecteur:
nouvel_adhérent = AdhérentDuFichier()
nouvel_adhérent['fichier_adhérents'] = nouveau_fichier
column_counter = 0
nouvel_adhérent['fédération'] = row[column_counter]
column_counter += 1
nouvel_adhérent['date_première_adhésion'] = row[column_counter]
column_counter += 1
nouvel_adhérent['date_dernière_cotisation'] = row[column_counter]
Я получаю следующее сообщение об ошибке:
iterator should return strings, not int (did you open the file in text mode?)
Я ve попытался использовать open(), но из того, что я понимаю, open() работает только с прямым путем к загруженному файлу. Однако мне нужно сделать это из памяти.