CSV上传在python中不起作用

2024-04-27 02:53:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用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中的示例代码以“rb”的形式打开csv文件,当我尝试处理要上载的文件时,示例代码按预期工作。但是,这里的数据类型似乎不正确。我试过制作上传文本,但这会产生其他问题。你知道吗

谢谢


Tags: 文件csvnamepyform表单inputif