Python
 Computer >> コンピューター >  >> プログラミング >> Python

DjangoのモデルにJSONデータをインポートする方法【django-import-export活用】

この記事では、django-import-exportパッケージを使って、JSON形式のデータをDjangoのモデルにインポートする方法を解説します。このパッケージを利用すれば、JSON、CSV、XLSX、YAMLなど、さまざまな形式のファイルからデータを取り込むことが可能です。

事前準備:プロジェクトとアプリの作成

まずはじめに、Djangoプロジェクトとアプリを作成しましょう。URLの設定や、INSTALLED_APPSへのアプリ追加といった基本的なセットアップを行ってください。

次に、データを格納するためのモデルを作成します。今回の手順では、views.pyurls.py、HTMLテンプレートはほとんど使いません。主に編集するのはsettings.pyadmin.pymodels.py、そして管理画面(admin)のURL設定のみです。

django-import-exportのインストールと設定

以下のコマンドでdjango-import-exportパッケージをインストールします。

pip install django-import-export

続いて、settings.pyに次の行を追加します。

INSTALLED_APPS += ['import_export']

これで、プロジェクトにimport_exportがアプリとして登録されます。

モデルの作成

動作確認用に、シンプルな学生情報モデルを作成します。

class StudentData(models.Model):
    name=models.CharField(max_length=100)
    standard=models.CharField(max_length=100)
    section=models.CharField(max_length=100)

ここでは「名前」「学年」「クラス」の3つのフィールドを持つモデルを定義しました。あくまでテスト・検証用のシンプルな構成です。

admin.pyでのリソース定義と登録

admin.pyには、以下のように記述します。

from django.contrib import admin
from .models import StudentData
from import_export import resources
from import_export.admin import ImportExportModelAdmin

class StudentResource(resources.ModelResource):
    class Meta:
        model = StudentData
class StudentAdmin(ImportExportModelAdmin):
    resource_class = StudentResource

admin.site.register(StudentData,StudentAdmin)

ここでは、インポート・エクスポートのためのモデルリソース(StudentResource)を作成し、それを利用するカスタム管理クラス(StudentAdmin)を定義しています。最後に、そのクラスを使ってモデルを管理サイトに登録すれば準備完了です。

インポート用JSONファイルの形式

インポートするJSONファイルは、以下のような形式である必要があります。フィールド名をキーとして、対応する値を記述します。

[
    {
        "id": 13,
        "name": "John",
        "standard":"10",
        "section": "B",
        "the_json": {"name":"Jhon"}
    }
]

メモ帳などのテキストエディタで上記の内容を作成し、import_example.jsonという名前で保存してください。

実行結果

DjangoのモデルにJSONデータをインポートする方法【django-import-export活用】

あとは、Django管理画面からJSONファイルimport_example.jsonをアップロードしてインポートを実行するだけで、データが自動的にDjangoのモデルへ登録されます。CSVやExcelファイルでも同様の手順でインポートできるため、初期データの投入や既存データの移行に非常に便利です。

  1. Excelにデータをインポートする3つの基本方法【ファイル・Web・VBA対応】

    データを活用するためには、まずそのデータをワークシートに取り込む必要があります。Excelはテキストファイルからのデータ読み込みはもちろん、Webサイトからデータを取得することも可能です。この記事では、Excelへのデータのインポート方法を3つに分けて詳しく解説します。 Excelでデータをインポートする3つの方法 まず、Excelが直接開けるファイル形式について確認しておきましょう。各種ファイルからデータを取得するには、ファイル >> 開く >> 参照 の順に操作します。下の画像は、Excelが開くことのできるファイル形式の一覧です。 方法1:さまざまなファイルから

  2. テキストファイルからExcelにデータをインポートする3つの方法

    必要なデータがテキストファイルに保存されている場合、そのデータをExcelブックに取り込んで、さまざまな操作や分析を行いたいことがあります。この記事では、テキストファイルからExcelへデータをインポートするための、シンプルかつ効果的な3つの方法をわかりやすく解説します。 説明には、次のようなテキストファイル内のデータをサンプルとして使用します。このデータには、ある会社の営業担当者(Salesman)、製品(Product)、売上(Sales)の情報が含まれています。これらの情報をExcelワークシートに取り込んでいきましょう。 テキストファイルからExcelにデータをインポートする3つの方