If your data is a regular grid, sorted with y increasing slowest, as from this python code: import numpy as np x = np.array([(y, x, 1.0) for x in range(5328530,5328560,10) for y in range(4390000,4390100,10)]) x[:,2] = np.random.normal(size=x.shape[0]) np.savetxt("/Users/drf/data/foo.csv",x,header="x y z",comments='') x y z 4.390000000000000000e+06 5.328530000000000000e+06 1.015328864588257662e+00 4.390010000000000000e+06 5.328530000000000000e+06 -5.628257535238548881e-01 4.390020000000000000e+06 5.328530000000000000e+06 -4.046038883206812820e-01 4.390030000000000000e+06 5.328530000000000000e+06 8.817873776115265905e-01 4.390040000000000000e+06 5.328530000000000000e+06 4.097001571760452432e-01 4.390050000000000000e+06 5.328530000000000000e+06 -7.780231463806006609e-01 4.390060000000000000e+06 5.328530000000000000e+06 1.276611440801514563e+00 4.390070000000000000e+06 5.328530000000000000e+06 1.487220007430405389e+00 4.390080000000000000e+06 5.328530000000000000e+06 -8.761006338524375270e-01 4.390090000000000000e+06 5.328530000000000000e+06 -1.859988973619862984e-01 4.390000000000000000e+06 5.328540000000000000e+06 -7.427614994399982240e-02 4.390010000000000000e+06 5.328540000000000000e+06 -9.425023376749808168e-01 4.390020000000000000e+06 5.328540000000000000e+06 1.323964776987769654e-01 4.390030000000000000e+06 5.328540000000000000e+06 8.889046410107322993e-01 4.390040000000000000e+06 5.328540000000000000e+06 2.653416825844922000e-01 4.390050000000000000e+06 5.328540000000000000e+06 4.796456869260552480e-01 4.390060000000000000e+06 5.328540000000000000e+06 -7.438068196825314837e-01 4.390070000000000000e+06 5.328540000000000000e+06 3.184221970890085962e-01 4.390080000000000000e+06 5.328540000000000000e+06 1.391780647464825327e+00 4.390090000000000000e+06 5.328540000000000000e+06 -7.167399876719116047e-01 4.390000000000000000e+06 5.328550000000000000e+06 -2.341421481517296233e+00 4.390010000000000000e+06 5.328550000000000000e+06 3.345464281172759735e-01 4.390020000000000000e+06 5.328550000000000000e+06 -1.494134402336438017e+00 4.390030000000000000e+06 5.328550000000000000e+06 2.142616394224636234e-01 4.390040000000000000e+06 5.328550000000000000e+06 2.857439432942754931e-01 4.390050000000000000e+06 5.328550000000000000e+06 -3.657708254450416363e-01 4.390060000000000000e+06 5.328550000000000000e+06 -5.120046389202982384e-01 4.390070000000000000e+06 5.328550000000000000e+06 4.942802209477887843e-01 4.390080000000000000e+06 5.328550000000000000e+06 2.181192673092847478e+00 4.390090000000000000e+06 5.328550000000000000e+06 -7.518000569745769690e-01 Then it can be read directly from `Layer/Add Layer/Add Raster Layer/ Dataset` which uses GDAL. If your data isn't a regular grid, and you already have the points imported as a layer, with the accurate fields, then the problem might not be with your data import, its with transforming the point data into a raster, as in https://gis.stackexchange.com/questions/118030/interpolation-on-set-of-points-in-qgis/118041 or this [QGIS tutoria](https://docs.qgis.org/3.10/en/docs/gentle_gis_introduction/spatial_analysis_interpolation.html). You should be able to use one of the interpolation tools `Processing /(search 'interp')` tools like `Processing/Interpolation/IDW Interpolation`, `Processing/Interpolation/TIN Interpolation`, `Processing/SAGA/Raster Creation/Interpolate` or others.