1

csvファイルをアップロードして処理するために、pythonでアプリを書いています。私はそれをアップロードするためにフォームを使用しているので、私は持っています:

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

フォーム.py

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

問題を示すだけです。問題は、反復時に、「反復子はバイトではなく文字列を返す必要があります (ファイルをテキストモードで開きましたか?)」というエラーが表示されることです。csv のサンプル コードは、csv ファイルを 'rb' として開き、アップロードしようとしているファイルを処理しようとすると、サンプル コードは期待どおりに動作します。ただし、ここではデータ型が正しくないようです。アップロード テキストを作成しようとしましたが、別の問題が発生します。

ありがとう

4

0 に答える 0