def _add_csv_file_to_db(self, decoder):
f = codecs.iterdecode(
self.upload_file_form.cleaned_data['marketing_file'],
decoder
)
reader = csv.reader(f)
if not self.uploaded_file:
new_file = UploadedFile(
filename=self.upload_file_form.cleaned_data['marketing_file'].name,
uploaded_by=self.request.user,
num_columns=0,
)
new_file.save()
self.uploaded_file = new_file
is_first_row = True
self.num_cols = None
row_number = 0
for row in reader:
if not self.num_cols:
self.num_cols = len(row)
if self._csv_row_is_not_blank(row):
self._add_csv_row_to_db(row, is_first_row, row_number)
is_first_row = False
row_number += 1
if self.num_cols:
self.uploaded_file.num_columns = self.num_cols
self.uploaded_file.save()
评论列表
文章目录