我怎样才能把数据从excel解析成模型?

问题描述:

我解析Excel和列表获取行数据。这就像我怎样才能把数据从excel解析成模型?

[empty:'', text:’1', text:’1’, text:’40’, text:''] 
[empty:'', text:’2’, text:’5’, text:’23’, text:’●’] 
[empty:'', text:’3’, text:’9’, text:’52’, text:''] 

我的Excel文件(data.xlsx)是 excel

所以列表输出ok.Now我想把这个列表(用户)进行建模。在models.py 用户模型是

class User(models.Model): 
    user_id = models.CharField(max_length=200) 
    name_id = models.CharField(max_length=200) 
    age = models.CharField(max_length=200) 
    man = models.BooleanField() 

man = models.BooleanField()最后的代码意味着男人还是女人,如果在Excel中“●”,这意味着用户是人与真正想放在男人的变量。 现在views.py是

#coding:utf-8 
    from django.shortcuts import render 
    import xlrd 

    book = xlrd.open_workbook('../data/data.xlsx') 
    sheet = book.sheet_by_index(1) 

    for row_index in range(sheet.nrows): 
     row = sheet.row(row_index) 
     print(row) 
    # I had to add codes connect controller & model 

我不知道如何发送这些列表数据建模和模型具有这些data.Strictly来讲,我想这些列表数据写入sqlite3.Is这段代码

import app.models 
for x in row: 
    User.user_id = row[1] 
    User.name_id = row[2] 
    User.age = row[3] 
    User.man = row[4] 

写模式好办法吗?(或者是错误的方式?) 是否有其他更有效的方法来做到这一点?

假设你有整行和列的东西吧,这应该工作:

for row in rows: 
    # if the man column is not empty, we assume it's a male: 
    is_man = row[4] != "" 
    user = User(user_id=row[1], name_id=row[2], age=row[3], man=is_man) 
    user.save() 
+0

THX乌尔comments.I写道乌尔代码,但偏偏喜欢 从.models错误导入用户 关于SystemError:父模块“ '未加载,无法执行相对导入。 我该如何解决这个问题? – user8504021

+0

尝试删除导入并使用您的IDE自动添加导入。 –

+0

THX乌尔comments.I取出的进口和使用我的IDE导入,但现在发生错误 从app.models导入用户 导入错误:没有模块名为“应用”。然而,models.py和views.py在应用程序(这是孩子的应用程序)文件夹,所以我真的不明白,为什么没有模块名为“应用程序”的错误我happens.How可以解决这一问题? – user8504021