Skip to main content
 首页 » 编程设计

python之使用django web应用程序将csv文件导入mysql数据库

2025年05月04日20emanlee

谢谢大家。我设法完成了它。再次特别感谢 DAVID、WM-EDDIE 和 S.LOTT。还有 STACKOVERFLOW

解决方法:

                **model = Contact() 
                model.contact_owner = request.user 
                model.contact_name = row[1] 
                model.contact_mobile_no = row[2] 
                model.select_group = row[3] 
                model.save()**  

我的用户.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='|') 
 
            **#what code should i write here to store data in mysql** 
 
 
            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) 

csv文件中的数据:

abubakar,rooney,0178222123,学生

阿布巴卡尔,罗纳尔多,0183886789,学生

abubakar,kaka,0197887898,bola

感谢任何建议。希望可以向我展示一些编码示例,因为我仍然是这门语言的初学者

我的模型.py:

class Contact(models.Model): 
 
contact_owner = models.ForeignKey(User, related_name="contacts") 
contact_name = models.CharField(max_length=20) 
contact_mobile_no = models.CharField(max_length=20) 
select_group = models.CharField(max_length=20, null=True) 
 
def __unicode__(self): 
   return "contact {contact_owner=%s, contact_name=%s, contact_mobile_no=%s, select_group=%s}" % (self.contact_owner, self.contact_name, self.contact_mobile_no, self.select_group) 

请您参考如下方法:

标记逗号分隔的字符串:

>>> a = 'abubakar,rooney,0178222123,student abubakar,rooneyzzz,0178222164' 
>>> b = a.split(',') 
>>> print b 
['abubakar', 'rooney', '0178222123', 'student abubakar', 'rooneyzzz', '0178222164'] 

有关如何在数据库中创建新条目的信息,请参阅@wm_eddie 的回答。