I'm pretty sure that there is a way to do this with existing Grasshopper components, but I felt like having a go at it just to see.
This bit generates some data that matches yours:
import random
f = open('listCls.txt','w')
for i in range(100):
a = random.uniform(0, 10)
b = random.uniform(0, 10)
c = random.uniform(0, 10)
f.write('({}, {}, {})\n\n'.format(a,b,c))
f.close()
Then this bit reads it:
f = open('listCls.txt','r')
list =[]
for line in f:
if line[0]=="(":
tup = eval(line)
list.append(tup)
print list
I'm sure that someone will say that using eval is evil, but if you've generated the data and you haven't slipped in a call to startGlobalWar()
somewhere in the middle then this is pretty much what eval was made for.
If you don't trust the data source (and if you didn't make it, then you probably shouldn't) then making a string discombobulator as the MightyPork has suggested.
I've left out the part about rounding. Rounding is for humans. If the data has decimal places, hang onto them until you absolutely need to. Otherwise you'll just get cumulative inacuaracy, which if you need to take this into the real world is the difference between it going together first time and having to stay up all night sanding things to make them fit.