Python 如何在django中验证csv上载表单
我试图通过以下方式验证django中的csv文件上载:Python 如何在django中验证csv上载表单,python,django,csv,django-forms,Python,Django,Csv,Django Forms,我试图通过以下方式验证django中的csv文件上载: class CSVUploadForm(forms.Form): csv_file = forms.FileField(label='Select a CSV file to import:',) def clean(self): print 'clean' file_csv = self.cleaned_data['csv_file'] records = csv.read
class CSVUploadForm(forms.Form):
csv_file = forms.FileField(label='Select a CSV file to import:',)
def clean(self):
print 'clean'
file_csv = self.cleaned_data['csv_file']
records = csv.reader(file_csv, dialect=csv.excel_tab)
for row in records:
print ', '.join(row)
我得到一个错误:
new-line character seen in unquoted field - do you need to open the file in universal-newline mode?
我以为方言解决了这个问题
如果我将读卡器更改为使用rU标志打开,它将工作:
records = csv.reader(open('/mylocalpath/'+file_csv.name, 'rU'), dialect=csv.excel_tab)
问题是,由于此文件是流式传输的,因此实际文件与本地文件完全不同
如何将rU标志传递到文件的流式/上载版本?三种不同的方法:
splitlines()
,如中所示