Django CSV文件 - 数据库上传错误

时间:2015-07-14 15:37:50

标签: django

我有一个CSV文件,我正在尝试将它们填充到sqlite数据库中。我没有错误消息,它工作得很好但只加载文件的最后一行。

MD= MD()
    database = options.get('database')
            filename = options.get('filename')
            dataReader = csv.reader(open(filename))
            for row in dataReader:
                if row[0] != 'ID':
                   bb= 1 if row[3] == 'YES' else 0
                   pro = 'YES' if row[4] == 'Pro' else 'NO'
                   MD.id = row[0]
                   MD.mol = row[1]
                   MD.phase = row[2]
                   MD.warning = black_box
                   MD.pro = pro
                   MD.status = Type.objects.get(description=row[5])
                   MD.name = row[6]
                   MD.stem = row[7]
                   MD.year = row[8]
                   MD.iname = row[9]
                   MD.iyear = row[10]

                   print row[1], row[2],row[3],row[4],row[5],row[6], row[0]
                   MD.save()

但print语句会打印CSV文件中的所有行。我不知道会发生什么。谢谢

1 个答案:

答案 0 :(得分:0)

您始终保存相同的对象。试试这个:

MD= MD()放在for

... # The same here
for row in dataReader:
    if row[0] != 'ID':
        MD= MD()
        ... # The same here
        MD.id = row[0]
        MD.mol = row[1]
        ...
        MD.save()