Парсинг csv с помощью pandas

пытаюсь добавить данные из CSV файла в DB django

Исполняемый код:

from django.core.management.base import BaseCommand
import pandas as pd
from ...models import Suppliers, Articles


def get_products():
    tmp_data = pd.read_csv('C:/Users/Sirius_McLine/PycharmProjects/BrixoDoc/ImportCSV/articles.csv', sep=';')
    products = [
        Articles(
            ExternalId=tmp_data.loc[row]['ART_ID'],
            SupplierId=Suppliers.objects.get(id=tmp_data.loc[row]['SUP_NAME']),
            AssemblyGroup=tmp_data.loc[row]['Assembly_Group'],
            GenericArticle=tmp_data.loc[row]['Generic_Article'],
            ArticleNumber=tmp_data.loc[row]['ART_NUM'],
            Type=1,
            GenericArticleNumber=8,
        )
        for row in tmp_data
    ]
    Articles.objects.bulk_create(products)


def clear_data():
    """
    Очистить все записи в таблице Product
    """
    Articles.objects.all().delete()


class Command(BaseCommand):
    def handle(self, *args, **options):
        clear_data()
        get_products()
        print("---------------------------------------PRODUCTS WAS ADDED----------------------------------------------")

Файл CSV:

ART_ID;ART_NUM;GEN_ART_NO;SUP_NAME;Assembly_Group;Generic_Article;ATTRIBUTES

4937#FL1105;FL1105;1537;FIT;Тормозная система;Комплект тормозных башмаков, барабанные тормоза;[]
4937#FL1106;FL1106;1537;FIT;Тормозная система;Комплект тормозных башмаков, барабанные тормоза;[]
4937#FL1110;FL1110;1537;FIT;Тормозная система;Комплект тормозных башмаков, барабанные тормоза;[]
4937#FL1111;FL1111;1537;FIT;Тормозная система;Комплект тормозных башмаков, барабанные тормоза;[]
4937#FL1112;FL1112;1537;FIT;Тормозная система;Комплект тормозных башмаков, барабанные тормоза;[]
4937#FL1114;FL1114;1537;FIT;Тормозная система;Комплект тормозных башмаков, барабанные тормоза;[]

На выходе получаю ошибку:

Traceback (most recent call last):
  File "C:\Users\Sirius_McLine\PycharmProjects\BrixoDoc\manage.py", line 22, in <module>
    main()
  File "C:\Users\Sirius_McLine\PycharmProjects\BrixoDoc\manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "C:\Users\Sirius_McLine\PycharmProjects\BrixoDoc\venv\lib\site-packages\django\core\management\__init__.py", line 446, in execute_from_command_line
    utility.execute()
  File "C:\Users\Sirius_McLine\PycharmProjects\BrixoDoc\venv\lib\site-packages\django\core\management\__init__.py", line 440, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Users\Sirius_McLine\PycharmProjects\BrixoDoc\venv\lib\site-packages\django\core\management\base.py", line 414, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Users\Sirius_McLine\PycharmProjects\BrixoDoc\venv\lib\site-packages\django\core\management\base.py", line 460, in execute
    output = self.handle(*args, **options)
  File "C:\Users\Sirius_McLine\PycharmProjects\BrixoDoc\SiteBrixo\management\commands\imortCSV.py", line 33, in handle
    get_products()
  File "C:\Users\Sirius_McLine\PycharmProjects\BrixoDoc\SiteBrixo\management\commands\imortCSV.py", line 8, in get_products
    products = [
  File "C:\Users\Sirius_McLine\PycharmProjects\BrixoDoc\SiteBrixo\management\commands\imortCSV.py", line 10, in <listcomp>
    ExternalId=tmp_data.loc[row]['ART_ID'],
  File "C:\Users\Sirius_McLine\PycharmProjects\BrixoDoc\venv\lib\site-packages\pandas\core\indexing.py", line 967, in __getitem__
    return self._getitem_axis(maybe_callable, axis=axis)
  File "C:\Users\Sirius_McLine\PycharmProjects\BrixoDoc\venv\lib\site-packages\pandas\core\indexing.py", line 1202, in _getitem_axis
    return self._get_label(key, axis=axis)
  File "C:\Users\Sirius_McLine\PycharmProjects\BrixoDoc\venv\lib\site-packages\pandas\core\indexing.py", line 1153, in _get_label
    return self.obj.xs(label, axis=axis)
  File "C:\Users\Sirius_McLine\PycharmProjects\BrixoDoc\venv\lib\site-packages\pandas\core\generic.py", line 3864, in xs
    loc = index.get_loc(key)
  File "C:\Users\Sirius_McLine\PycharmProjects\BrixoDoc\venv\lib\site-packages\pandas\core\indexes\range.py", line 389, in get_loc
    raise KeyError(key)
KeyError: 'ART_ID'

В чем может быть проблема? Я пробовал указывать явно столбец for row in tmp_data['name'] Но ошибка та же самая.

Вернуться на верх