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' として開き、アップロードしようとしているファイルを処理しようとすると、サンプル コードは期待どおりに動作します。ただし、ここではデータ型が正しくないようです。アップロード テキストを作成しようとしましたが、別の問題が発生します。
ありがとう