Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python CSV导入在django中不起作用_Python_Django_Csv - Fatal编程技术网

Python CSV导入在django中不起作用

Python CSV导入在django中不起作用,python,django,csv,Python,Django,Csv,获取此load_data.py文件以将csv数据导入django模型表…但它不起作用,在终端中,当我执行命令“python3./load_data.py”时,它会转到同一行,好像load.py甚至没有这样调用: (cost_control_local) juanda@juanda-VirtualBox:~/cost_control_repository/cost_control/csv_data$ python3 ./load_data.py (cost_control_local) juand

获取此load_data.py文件以将csv数据导入django模型表…但它不起作用,在终端中,当我执行命令“python3./load_data.py”时,它会转到同一行,好像load.py甚至没有这样调用:

(cost_control_local) juanda@juanda-VirtualBox:~/cost_control_repository/cost_control/csv_data$ python3 ./load_data.py
(cost_control_local) juanda@juanda-VirtualBox:~/cost_control_repository/cost_control/csv_data$ 
这是load_data.py代码:

import csv,sys,os
import django

pathproject = "/home/juanda/cost_control_repository/cost_control"
base_csv_filepath = "/home/juanda/cost_control_repository/cost_control/csv_data"
sys.path.append(pathproject)
os.environ['DJANGO_SETTINGS_MODULE'] = 'config.settings.local'
django.setup()

from cost_control_app.models import Suppliers

def load_suppliers():
    print ("Entering...")
    csv_file = base_csv_filepath + "supplier_data.csv"
    dataReader = csv.reader(open(csv_file, encoding='utf-8'),delimiter=',',quotechar='"')
    #dataReader = csv.reader(open(csv_file), delimiter=',', quotechar='"')
    for row in dataReader:
        if row[0] != 'ID':
            Suppliers.objects.create(
                supplier=row[0],
                supplier_description=row[1]
            )
    print ("Imported correctly")

有什么想法吗?谢谢你的帮助

您需要在代码底部编写:

if __name__ == "__main__":
    load_suppliers()
检查此项以了解有关此项的更多信息

还引述:

main”是执行顶级代码的作用域的名称。 从标准中读取时,模块的名称设置为“main” 输入、脚本或来自交互式提示的内容

模块可以发现它是否在主作用域中运行 通过检查它自己的名称,该名称允许对 当模块作为脚本或脚本运行时,有条件地执行模块中的代码 使用python-m,但在导入时不使用:


添加了
/

引发以下错误:ValueError:int()的文本无效,以10为基数:'\ufeffID',那么这就是脚本中的错误。您需要显示完整的回溯,以便人们诊断您的错误,我们无法仅通过“ValueError”确定错误。另外,它与这个问题不再相关,因为您的程序开始运行,所以我建议您关闭这个问题并提出另一个问题,这样更多的人可能会从中受益。
csv_file = base_csv_filepath + "/supplier_data.csv"