Рубрики
Без рубрики

Импорт данных из URL, локальных файлов CSV и JSON в приложение DB- DJANGO

Импорт данных из URL, локальных файлов CSV и / или JSON

Автор оригинала: Happiness Nwosu C..

Шаги для импорта данных в приложение Django, так что у вас есть приложение Django и хочу загрузить данные из URL, файла CSV или файла JSON, я получил вам 🙂 Сначала, создайте свои модели, делайте миграцию, миграцию и все, что настроить вас Нужно делать, но я уверен, что вы получили все, что охватывают 😉 Видеть это на Github здесь: https://github.com/nebere/data-import/tree/master

Импорт из URL: Этот код получает данные из URL, обязательно иметь установленные запросы или любую другую другую библиотеку HTTP.

"""
Import json data from URL to Datababse
"""
import requests
import json
from import_data.models import Movie #Import your model here
from django.core.management.base import BaseCommand
from datetime import datetime
 
IMPORT_URL = 'https://jsonplaceholder.typicode.com/photos' # URL to import from
 
class Command(BaseCommand):
  def import_movie(self, data):
  title = data.get('title', None)
  url = data.get('url', None);
  release_year = datetime.now()
  try: #try and catch for saving the objects
    movie, created = Movie.objects.get_or_create(
    title=title,
    url=url,
    release_year=release_year
    )
    if created:
      movie.save()
     display_format = "\nMovie, {}, has been saved.
     print(display_format.format(movie))
  exceptExceptionas ex:
    print(str(ex))
    msg = "\n\nSomething went wrong saving this movie: {}\n{}".format(title, str(ex))
    print(msg)
  def handle(self, *args, **options):
  """
  Makes a GET request to the API.
  """
  headers = {'Content-Type': 'application/json'}
  response = requests.get(
  url=IMPORT_URL,
  headers=headers,
  )
  response.raise_for_status()
  data = response.json()
  for data_object in data:
  self.import_movie(data_object)

Чтобы запустить эту команду сделать: Manage.py (без расширения .py Итак, если файл был импортером .py, я бы запустил команду как:

manage.py importer

NB : Уменьшите углубление кода на вашем IDE Продолжить чтение: http://happinessnwosu.com/2017/10/17/import-data-into-database-django-app/

Опять же, вот Github Repo со всеми сценариями импорта и образца файлов: https://github.com/nebere/data-import/tree/master happy coding 🙂