Как присвоить значения фрейму данных pandas?

Это мой код, я загружаю файл, который содержит несколько столбцов, в столбце состояния нет данных, я присваиваю данные здесь, но получаю ошибку?

    def post(self, request, *args, **kwargs):
        modelname = request.data['modelname']
        serializer = self.serializer_class(data=request.data)
        serializer.is_valid(raise_exception=True)
        dataset = Dataset()
        file = serializer.validated_data['file']
        imported_data = dataset.load(file.read(), format='xlsx')
        field_headers = imported_data.headers
        for x in imported_data:
            '''
            uploading xl file with particular data what user mentioned in xl we are looping the xl data
                    and appending into the database with same fields
                    '''

        model = ModelSchema.objects.get(name=modelname).as_model()
        table_name = model._meta.db_table
        fields_list = field_headers
        fields = [f.name for f in model._meta.fields]

        list_difference = [element for element in fields_list if element not in fields]
        if list_difference:
            return Response({'headers is not same as DB': list_difference})

        conn = psycopg2.connect(dbname=settings.DATABASES['default']['NAME'],
                                user=settings.DATABASES['default']['USER'],
                                password=settings.DATABASES['default']['PASSWORD'],
                                port=settings.DATABASES['default']['PORT'],
                                host=settings.DATABASES['default']['HOST']
                                )
        cur = conn.cursor()

df = pd.read_excel(file, engine='openpyxl')

        dff = df.assign(status='newtickets')
        print(dff,'sssssssssssssssssss')

        # dff.replace(np.NAN, inplace=True)

        temp_csv = StringIO()
        writer = csv.writer(temp_csv)
        writer.writerows(dff.values)
        temp_csv.seek(0)

        with conn.cursor() as c:
            c.copy_from(
                file=temp_csv,
                table=table_name,
                columns=fields_list,
                sep=","
            )

        cur.commit()

        print(cur,'ppppppppppppppppppp')

        return Response({'sucessfully uploaded your file'}, status=status.HTTP_200_OK)

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