1. 程式人生 > 其它 >Python自定義終端命令

Python自定義終端命令

在python中自定義一個終端命令

這裡我們想要將一個csv檔案中的資料匯入到資料庫中,就可以定義一個終端命令,直接一行命令就可以將我們檔案中的資料匯入到資料庫中,特別的簡單

首先,我們先建立一個py檔案

management/commands/import_candidate.py

接下來,我們就可以在這個py檔案中定義終端命令了

import csv

from django.core.management import BaseCommand
from interview.models import Candidate

class Command(BaseCommand):
  help = '從一個CSV檔案的內容中匯入候選人列表,匯入到資料庫中'
  def add_argument(self, parser):
    parser.add_argument('--path', type=str)
   
  def handle(self, *args, **kwargs):
    path = kwargs['path']
    with open(path, 'rt', encoding='gbk') as f:
      reader = csv.reader(f, dialect='excel', delimiter=';')
      for row in reader:
        candidate = Candidate.object.create(
                    username=row[0],
                    city=row[1],
                    phone=row[2],
                    bachelor_school=row[3],
                    major=row[4],
                    degree=row[5],
                    test_score_of_general_ability=row[6],
                    paper_score=row[7]
        )
        print(candidate)
    

然後, 我們就可以在終端執行命令了

python manage.py import_candidate --path ~/recruitment/應聘資訊.csv

終於,檔案中的資料就匯入到資料庫中了