Запустить пользовательский одноразовый скрипт django - PullRequest
0 голосов
/ 28 февраля 2020

Я хочу запустить пользовательский одноразовый скрипт (для чтения из файла Excel и записи в БД), проблема заключается в том, что я запускаю

  • python manage.py shell < poligon/run.py

Я не могу найти пакет xlrd

Error:
  File "manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "/home/jurabek/Project/hrm/.venv/lib/python3.7/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "/home/jurabek/Project/hrm/.venv/lib/python3.7/site-packages/django/core/management/__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/jurabek/Project/hrm/.venv/lib/python3.7/site-packages/django/core/management/base.py", line 323, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/jurabek/Project/hrm/.venv/lib/python3.7/site-packages/django/core/management/base.py", line 364, in execute
    output = self.handle(*args, **options)
  File "/home/jurabek/Project/hrm/.venv/lib/python3.7/site-packages/django/core/management/commands/shell.py", line 92, in handle
    exec(sys.stdin.read())
  File "<string>", line 17, in <module>
  File "<string>", line 10, in run
NameError: name 'xlrd' is not defined

Код

..imports from apps

import xlrd

loc = ('users.xlsx')

def run():
    workbook = xlrd.open_workbook(loc)

    sheet = workbook.sheet_by_index(0)

    print(sheet.cell_value(0, 0))


run()

Структура проекта:

.venv
apps/
 -- all my apps
poligon/
  run.py
manage.py
settings/

ОБНОВЛЕНИЕ Проблема решена. Ошибка была в том, что manage.py не видел users.xlsx, изменил на poligon / users.xlsx и все заработало

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...