Python(Django)将模块导入b时出错

2024-10-02 18:21:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我在运行bat文件时遇到问题,或者我正在使用python程序(Django)。你知道吗

以下是运行时的错误消息:

Traceback (most recent call last):
  File "chemin\import_engagementD.py", line 5, in <module>
    from postes.models import EngagementD
ImportError: No module named 'postes'
FIN du Scripthere

这是我的bat文件:

@ECHO OFF
ECHO Script en cours
python chemin\import_engagementD.py
ECHO FIN du Script
pause

最后是我的项目树:

Picture

这是我的进口货_约定日期文件:

import os
import csv
import django.model
from django.core.management import BaseCommand
from django.conf import settings
from postes.models import EngagementD
from pprint import pprint
import unicodedata

class Command(BaseCommand):
    help = "Commande d'importation automatique de Engagement"

    # A command must define handle()
    def handle(self, *args, **options):
        # Si vous utilisez des chemins relatifs, Django risque de ne pas trouver votre fichier lignes.csv
        # Partez toujours de settings.BASE_DIR qui est la racine de votre projet
        cheminRegion = os.path.join(settings.BASE_DIR, "postes/management/commands/Donnees/TableauEngDistribparRegion.csv")
        cheminGMR = os.path.join(settings.BASE_DIR, "postes/management/commands/Donnees/TableauEngDistribparGMR.csv")

        compteurRegion = 0
        compteurGMR = 0

        with open(cheminRegion) as csvfile:
            lignes = csv.reader(csvfile, delimiter=',', quotechar='"')
            for ligne in lignes:
                # utiliser get_or_create pour éviter de recréer des lignes qui existent déjà
                # Utilisation d'un compteur pour recuperer les lignes nécessaire
                if(compteurRegion >= 1 and compteurRegion < 9):
                    print(compteurRegion)
                    pprint(ligne)
                    if (ligne[0] == "Total"):
                        ligne = EngagementD.objects.get_or_create(tauxNA=ligne[7][:-1].replace(",", "."), tauxA=ligne[5][:-1].replace(",", "."), tauxD=ligne[3][:-1].replace(",", "."), region="France")
                    else:
                        ligne = EngagementD.objects.get_or_create(tauxNA=ligne[7][:-1].replace(",", "."), tauxA=ligne[5][:-1].replace(",", "."), tauxD=ligne[3][:-1].replace(",", "."), region=unicodedata.normalize('NFKD', (ligne[0]).encode('ASCII','ignore').decode('UTF-8')))
                compteurRegion+=1

        with open(cheminGMR) as csvfile:
            lignes = csv.reader(csvfile, delimiter=',', quotechar='"')
            for ligne in lignes:
                # utiliser get_or_create pour éviter de recréer des lignes qui existent déjà
                # Utilisation d'un compteur pour recuperer les lignes nécessaire
                if(compteurGMR >= 1 and compteurGMR < 31):
                    pprint(compteurGMR)
                    pprint(ligne)
                    ligne, created = EngagementD.objects.get_or_create(tauxNA=ligne[8][:-1].replace(",","."), tauxA=ligne[6][:-1].replace(",","."), tauxD=ligne[4][:-1].replace(",","."), gmr=unicodedata.normalize('NFKD', (ligne[1][4:len(ligne[1])])).encode('ASCII', 'ignore').decode('UTF-8').replace(" ", ""))
                compteurGMR+=1

Tags: orcsvfromimportgetcreatedereplace