Here's a possible solution using Sverchok add-on:
Basically we can import the ponts directypoints directly from the cvs file with the Text input node and tranformtransform the coordinates in vertices with the Vector in node.
Then what's left is to provide a sequence of indexes based on the specific grid of acquisition. In this particular case, we are defining the first polygon (a quad) anand then repeating the process for every quadrlet with a combination of list managing and a int range.
The last segment of the algorithm is used to get rid of the faces built by the vertices of a row and the first of another. In this particular case is deleting one item of the list every 216.