1

我正在用python编写一个应用程序来上传一个csv文件并处理它。我正在使用表格上传它,所以我有:

表单.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>

模型.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

表格.py

class CSVFileForm(forms.Form):
    docfile = forms.FileField()

只是为了显示问题。问题是在迭代时,我收到错误“迭代器应该返回字符串,而不是字节(你是否以文本模式打开文件?)”。csv 中的示例代码将 csv 文件打开为“rb”,当我尝试处理我尝试上传的文件时,示例代码按预期工作。但是,这里看起来数据类型不正确。我试过制作上传文本,但这会产生其他问题。

谢谢

4

0 回答 0