python - 在 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中我已经创建了我的数据的完整模型有没有其他方法或者我做错了请帮助我
解决方案
仔细阅读信息:
NameError: name 'Maize_clustert' is not defined
这意味着在您执行 CSV 读取此类的文件中未定义。因此,即使 Maize_clustert 存在于您的 models.py 中,您也必须将其导入使用它的文件中。
基本上在你的文件顶部添加这个:
`从 application.models 导入 Maize_clustert
推荐阅读
- javascript - 如何通过 Vue.extend() 在 TypeScript 中共享 Vue 组件 Prop 定义?
- python - 测试数据框中列之间的关系
- c# - 在 HttpWebRequest 中设置 Proxy 请求提交后无法执行此操作
- javascript - 更改 page.evaluate Puppeteer (Javascript) 中的变量值
- python - Flask 无法在 PHP 中运行
- django - Django-Filter:外键字段上的多个 select2 选择
- javascript - 在 javascript 函数中找出一组 json 数据?
- python - 试图从 *.npy 文件制作数据集。无法将 NumPy 数组转换为张量
- shell - 创建指定 Tmux 窗格的脚本
- swift - 需要帮助使用 AVAssetExportSession 导出音频