首页 > 解决方案 > 在 Django 中导入 csv

问题描述

我正在尝试从 manage.py shell 将 csv 文件导入 db,但它给了我错误

import csv
with open(r"C:\Users\yousa\Desktop\xp\exp\Dist_Extended_TissuesWise_ClusteredAnnotated_21nov2018_qaz.csv", 'r') as f:
        reader = csv.reader(f)
        lines = list(reader)
        del lines[0]
        objects = []
        for line in lines:
            obj =Maize_clustert()
            obj.chromosome = int(line[0])
            obj.cluster_start = int(line[1])
            obj.cluster_end = int(line[2])
            obj.strand = line[3]
            obj.pac = int(line[4])
            obj.pac_suppoort = int(line[5])
            obj.cluster_support = int(line[6])
            obj.region = line[7]
            obj.gene_id = line[8]
            obj.transcript_id = line[9]
            obj.distance = line[10]
            obj.transcript_code = line[11]
            obj.gene_cord = line[12]
            obj.utr_length = int(line[13])
            obj.gene_biotype = line[14]
            obj.cluster_size = int(line[15])
            obj.number_pas = int(line[16])
            obj.zygote = int(line[17])
            obj.sperm = int(line[18])
            obj.egg = int(line[19])
            obj.root = int(line[20])
            obj.embryo = int(line[21])
            obj.basal = int(line[22])
            obj.ear = int(line[23])
            obj.apical = int(line[24])
            obj.ovule = int(line[24])
            objects.append(obj)
        Maize_clustert.objects.bulk_create(objects)

在 manage.py shell 中运行此代码时,它给了我结果

Traceback (most recent call last):
  File "<input>", line 8, in <module>
NameError: name 'Maize_clustert' is not defined

在models.py中我已经创建了我的数据的完整模型有没有其他方法或者我做错了请帮助我

标签: pythondjangodatabasedjango-models

解决方案


仔细阅读信息:

NameError: name 'Maize_clustert' is not defined

这意味着在您执行 CSV 读取此类的文件中未定义。因此,即使 Maize_clustert 存在于您的 models.py 中,您也必须将其导入使用它的文件中。

基本上在你的文件顶部添加这个:

`从 application.models 导入 Maize_clustert


推荐阅读