我正在python中编写一个应用程序来上传一个csv文件并进行处理。我正在使用表单上传它,所以我有:
form.html
<form method="post" enctype = "multipart/form-data" >
{% csrf_token %}
<p><input type="file", name="docfile"></p>
<p><input type="submit" value="Upload" /></p>
</form>
models.py
def process(request, name):
Entries = []
table = {}
if request.method == 'POST':
form = CSVFileForm(request.POST, request.FILES)
if form.is_valid():
foo = csv.reader(request.FILES['docfile'])
for rows in foo:
pass
forms.py
class CSVFileForm(forms.Form):
docfile = forms.FileField()
只是为了表明问题。问题是在迭代时,我得到错误“迭代器应该返回字符串,而不是字节(你是否在文本模式下打开文件?)”。 csv中的示例代码将csv文件打开为“rb”,当我尝试处理我要上传的文件时,示例代码按预期工作。但是,这里看起来数据类型不正确。我已尝试制作上传文字,但这会产生其他问题。
由于