TIL 17. Excel Import


1. Excel File Import
以前のCSVファイルのデータをDBにアップロードする場合は、各CSVファイルを開いてデータを取得する必要がありますので、単一のExcelファイル、各ページで管理して一度だけファイルを開く方法を参照してください.
pip install pandas
import os
import django
import pandas

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mywishtrip.settings')
django.setup()

from products.models import MainCategory, SubCategory, Region

PATH   = './wishtrip.xlsx'
xl     = pandas.ExcelFile(PATH)
sheets = xl.sheet_names
df = pandas.read_excel(xl,sheets[0])
df2 = pandas.read_excel(xl,sheets[1])
df3 = pandas.read_excel(xl,sheets[2])

#sheet1
MainCategory.objects.all().delete()
for data in df.iloc:
    MainCategory.objects.create(**dict(data))

#sheet2
SubCategory.objects.all().delete()
for data in df2.iloc:
    SubCategory.objects.create(**dict(data))

#sheet3
Region.objects.all().delete()
for data in df3.iloc:
    Region.objects.create(**dict(data))