使用Django web应用将CSV文件导入MySQL数据库

0 投票
1 回答
2207 浏览
提问于 2025-04-15 13:52

我想把一个csv文件上传到我的网页应用里,并把它存储到mysql数据库中,但失败了。请问有人能帮我吗?

这是我的user.py脚本:

def import_contact(request):
if request.method == 'POST':
    form = UploadContactForm(request.POST, request.FILES)
    if form.is_valid():
        csvfile = request.FILES['file']
        print csvfile

        csvfile.read()
                    testReader = csv.reader(csvfile,delimiter=' ', quotechar='|')




        for row in testReader:
            print "|".join(row)
    return HttpResponseRedirect('/admin')

else:
    form = UploadContactForm()

vars = RequestContext(request, { 'form': form })
return render_to_response('admin/import_contact.html', vars)

这是我的forms.py脚本:

class UploadContactForm(forms.Form):
file  = forms.FileField(label='File:', error_messages = {'required': 'File required'})

1 个回答

1

因为你没有提供getcsv函数的代码,所以我只能凭借我的直觉来猜测了。

for row in testReader:这个循环中,打印不出来的一个原因可能是getcsv已经处理过这个文件了。你可以使用这个seek方法,把文件中的位置重置到开头。这样,循环就能正常处理文件了。

另外,数据库里没有存储任何东西的原因可能是你提供的代码中似乎没有提到任何模型。那么Django怎么知道应该存什么,存在哪里呢?

撰写回答