База данных Django при загрузке выдает пустой столбец там, где данные присутствуют в excel?

Я загружаю excel, в котором есть данные. Все столбцы заполнены в excel. Но когда я загружаю его в django, для нескольких столбцов данные не поступают в базу данных django.

Вот мой model.py

class data(models.Model):
    sno = models.IntegerField(null=True)
    Date = models.DateField(null=True)
    Premium = models.FloatField(null=True)
    Count = models.IntegerField(null=True)
    Time = models.TimeField(null=True)
    Date_time = models.CharField(max_length = 100,null=True)
    Close = models.IntegerField(null=True)
    Premium_percentage = models.FloatField(null=True)
    Day = models.CharField(max_length=100)

Вот excel, который я пытаюсь загрузить

Sno     Date Total_premium Count    Time    Date_time           Close      Premium%    Day
479544  2021-10-13  360.65  2   14:22:00    2021-10-13 14:22:00 38735.25    0.93%   Wednesday
479545  2021-10-13  357.7   2   14:23:00    2021-10-13 14:23:00 38727.3     0.92%   Wednesday
479546  2021-10-13  356.35  2   14:24:00    2021-10-13 14:24:00 38739.7     0.92%   Wednesday
479547  2021-10-13  353.85  2   14:25:00    2021-10-13 14:25:00 38750.4     0.91%   Wednesday
479548  2021-10-13  355.65  2   14:26:00    2021-10-13 14:26:00 38730.25    0.92%   Wednesday
479549  2021-10-13  354.6   2   14:27:00    2021-10-13 14:27:00 38723.15    0.92%   Wednesday

Вот данные, которые я получаю в базе данных

введите описание изображения здесь

Столбцы, которые приходят пустыми - SNO, PREMIUM, PREMIUM_PERCENTAGE.

Можете ли вы переименовать заголовки в вашем файле excel и попробовать это сделать.

  1. Sno ---> sno
  2. Общий_премиум ---> Премиум
  3. Premium% ---> Premium_percentage.

Просто сопоставьте имена в вашем экселе и модели

Можете ли вы использовать этот код? import pandas as pd

def load_data():
    table = pd.read_excel(file_path)
    data_tb = data()
    sno = table['Sno']
    Premium= table['Total_premium ']
    Premium_percentage = table['Premium%']
    ...
    data_tb.save()
Вернуться на верх