Once again I feel like I am at the end of my journey on a script, but then one little item falls apart…
I have two Dynamo runs that pull data from an Excel spreadsheet and push it into Civil3D. Run A is set up to where I select an individual pipe and it pulls in design data from the spreadsheet – it works like a champ. Granted there are multiple clicks, but it works. However, in Run B the user selects a pipe in a network, and Dynamo populates a list of those parts and pairs them up with flowline data in a dictionary, which I then push into nodes that adjust HGLs and such in the Civil3D file. However, it adjusts pipes randomly… some are spot-on, others are using info intended for other pipes, and still others are based on numbers that are nowhere to be found in the file.
For the spreadsheet, the index (left-hand) column is completely filled (no nulls) and corresponds to pipe names or cells toward the right that contain nothing at all (blank rows between portions of the network for visual clarity). Yes, I used a string called “SPACETAKER” to fill in for null cells.
I might add that it randomly disconnects one or two pipes here and there, but I have a suspicion it will fix once it gets the data ordered properly. Waving a white flag here…

Thanks!