python - 将 CSV 文件导入我的 Django 模型

标签 python django csv

我需要帮助才能将 CSV 文件上传到我的模型。我看到还有一些其他问题,但是它们是旧的,或者是用 2.7 写的,没有意义。

这些是我的模型。

class Ofac_Sdn(models.Model):
    number = models.IntegerField(blank=True, null=True)
    name = models.CharField(max_length=200, null=True)
    b_i = models.CharField(max_length=250, null=True)
    programe= models.CharField(max_length=250, null=True)
    last_name= models.CharField(max_length=250, null=True)
    more_info = models.CharField(max_length=250, null=True)
    vessel_call_sign = models.CharField(max_length=250, null=True)
    vessel_type= models.CharField(max_length=250, null=True)
    vessel_dwt = models.IntegerField(blank=True, null=True)
    tonnage = models.IntegerField(blank=True, null=True)
    vessel_flag = models.CharField(max_length=250, null=True)
    vessel_owner= models.CharField(max_length=250, null=True)
    dob_aka= models.CharField(max_length=250, null=True)

这是我的 CSV 中一行的模型:

36,AEROCARIBBEAN AIRLINES,-0- ,CUBA,-0- ,-0- ,-0- ,-0- ,-0- ,-0- ,-0- ,-0- 

到目前为止,我一直在尝试这个示例,但我收到一条错误消息:ModuleNotFoundError: No module named 'settings'

如果有人能提供帮助,我会欠你很多,因为我被困在这里!

谢谢!

import csv, sys, os

project_dir = "/Users/cohen/my-python-project/venv/ofac/ofac_project/ofac_sdn/"

sys.path.append(project_dir)

os.environ['DJANGO_SETTINGS_MODULE']='settings'

import django
django.setup()

from ofac_sdn.models import Ofac_Sdn

data = csv.reader(open('/Users/cohen/my-python-project/venv/ofac/ofac_project/ofac_sdn/sdn.csv')) #,delimiter="|")
#data = csv.reader(open('/Users/cohen/my-python-project/venv/ofac/ofac_project/ofac_sdn/sdn2.csv'), dialect='excel-tab')
for row in data:
    if row[0] !="Number":
        post = Ofac_Sdn()
        post.number = row[0]
        post.name = row[1]
        post.b_i=row[2]
        post.programe=row[3]

        post.more_info=row[4]
        post.vessel_call_sign=row[5]
        post.vessel_type=row[6]
        post.vessel_dwt=row[7]
        post.tonnage=row[8]
        post.vessel_flag=row[9]
        post.vessel_owner=row[10]
        post.dob_aka=row[11]
        post.save()

最佳答案

该错误与 CSV 导入无关。

错误是说路径settings 没有这样的模块。这意味着您在此处放置了错误的路径:

os.environ['DJANGO_SETTINGS_MODULE']='settings'

它应该是 project_name.settings 或适合您的项目的路径。

希望对您有所帮助。

关于python - 将 CSV 文件导入我的 Django 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46043332/

相关文章:

python - 如何在 Django 日志文件中记录 Python 警告?

python - urllib3 最大重试错误

python - 如何允许在 Django Admin 中仅针对特定对象进行对象编辑?

python - 基于相关模型计数的Django过滤

python - 如何在python中调用特定的csv字段值

python - 最大方程长度

python - 关于负正则表达式的另一个问题

django - 在 Django 中强制执行唯一的字段组合

python - 在 python 中向 csv/excel 文件添加封面

python - 如何将 CSV 转换为 JSON?