TypeError:conversion form numpy.int64 to Decimal is not supported


從numpy的int64 轉化成的decimal是不支持的,意思就是說不能直接轉換。

df_datas = pd.read_excel(excel_file)
            nrows=df_datas.shape[0]
            ncols=df_datas.columns.size
            index_list = df_datas.index
            for index in index_list:
                data = df_datas.loc[index]
                #去數據庫中檢索對象
                obj = PowerPlant.objects.filter(plant_id = data.id).first()
                #寫入到數據庫
                PowerPlant.objects.create(
                                time = data.time,
                                plant_id=data.id,
                                plant_name = obj.plant_name,
                                plant_type = obj.plant_type,
                                plant_capacity = obj.plant_capacity,
                                plant_status = obj.plant_status,
                                plant_generated_energy=data.output.astype(Decimal),
                                plant_electrical_consumption=data.consumption.astype(Decimal),
                                plant_standard_coal_consumption=data.standard.astype(Decimal),
                                plant_raw_coal_consumption=data.raw.astype(Decimal),
                                plant_fuel_consumption=data.fuel.astype(Decimal))

            data = {'code':200,'msg':"批量上報成功!"}
            return JsonResponse(data)

這里使用了.astype(Decimal)進行格式轉換成float


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM