I have also tried to include an animate() function as my thoughts were the loadData() function only occurs once as it is called in the void setup() so cannot be used to call variables in the move() method. However, it results in one static dot rather than dots incrementing down and right as the i variable increments.

Sorry for the confusion. The first set of code is a snippet from the code below. It is value k not y because y continuously steps and k is the point in which it stops. It is when merging this with the load save table example and Class structure I am doing something wrong.

yes, display row one by one. Ellipses are drawn on the y-axis every frame until they are at a height of variable k. At which point x is stepped right 10 pixels and the ellipses start drawing down the y-axis of the canvas again.

I was able to run your latest full version and I didn't have any problems. You have two conditions: When x>=84 and when you reach the end of the table. They are competing without constraining each other. When your warp around your data, you don't know if you have reach the x=84 mark or not. When you reach the x=84 mark, you don't know how far you are into the data... that could be the problem. However, I will need a full copy of your csv file to try to reproduce your issue.