def predict_csv(request): if request.method == 'POST': # file = request.FILES['fXTest'].read() myfile = request.FILES['fXTest'] fs = FileSystemStorage() filename = fs.save(myfile.name, myfile) uploaded_file_url = fs.url(filename) print(myfile.name, uploaded_file_url) dataset = open(os.path.join(settings.MEDIA_ROOT, myfile.name), 'r').read() # dataset = [dataset.split()] # for data in dataset: # dta = data.split(',') # print(dta) dataset = StringIO(dataset) dataset = pd.read_csv(dataset, sep=',') # print(dataset) filename = os.path.join(os.path.dirname(__file__), 'static/model.sav') # with open(filename, 'rb') as f: # model = pickle.load(f) classifier = getattr(settings, 'MODEL') result = dataset.assign( CLASS=classifier.predict(classifier.scaler.transform(dataset))) path = os.path.join( os.path.dirname(__file__), '../media/result_' + uploaded_file_url.split('/')[-1]) # file=open(djangoSettings.STATIC_ROOT+'/game'+name+'.json','w') result.to_csv(path) rows = [] for i, row in result.iterrows(): rows.append({ 'AREA': row.AREA, 'PERIMETER': row.PERIMETER, 'MAJORAXIS': row.MAJORAXIS, 'MINORAXIS': row.MINORAXIS, 'ECCENTRICITY': row.ECCENTRICITY, 'CONVEX_AREA': row.CONVEX_AREA, 'EXTENT': row.EXTENT, 'CLASS': row.CLASS, }) # return HttpResponse(result) # json_records = result.reset_index().to_json(orient='records') # result = [json.loads(json_records)] # context = {'d': result} # print(result) res = {'rows': rows, "path": path.split('/')[-1]} return JsonResponse(res, safe=False)