It would be helpful to post at least some of the data so that we can do some experimentation. For example, using an expression like this, data[[i, "z"]] implies that your data is a list of associations, which might impact how we solve this.
In the meantime, you might want to look at ParametricPlot3D. From what you’ve provided so far, that seems like the most promising strategy to me.