In the following code, the second loop of "for row in csv_reader:" is empty when dealing with an InMemoryUploadedFile object. Setting FILE_UPLOAD_MAX_MEMORY_SIZE equal to zero forces the use of a TemporaryUploadedFile object and solves the problem. It seems that seek(0) doesn't work with an InMemoryUploadedFile and csv.reader. Anyone know why?
if request.method == 'POST': dedupe_csv_form = DedupeCSVForm(request.POST,request.FILES) if dedupe_csv_form.is_valid(): relevant_column = dedupe_csv_form.cleaned_data ['duplicates_column'] csv_file = request.FILES['csv_file'] csv_reader = csv.reader(csv_file) items_in_relevant_column = [] duplicates_in_relevant_column = [] col = int(relevant_column)-1 for row in csv_reader: items_in_relevant_column.append(row[col].strip()) items_in_relevant_column.sort() for (i, item) in enumerate(items_in_relevant_column): if i == 0: continue else: last_item = items_in_relevant_column[i-1] if item == last_item: duplicates_in_relevant_column.append(item) csv_file.seek(0) response = HttpResponse(mimetype='text/csv') response['Content-Disposition'] = 'attachment; filename=output.csv' csv_writer = csv.writer(response) for row in csv_reader: item = row[col].strip() if item in duplicates_in_relevant_column: continue else: csv_writer.writerow(row) return response --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---