for subscript,line in enumerate(file("file.csv")): s = line.split(",")[1] try: f = float(s) locals()["x%i" % subscript]=f except: locals()["x%i" % subscript]=s
print x1 print x On Jan 15, 2008 3:26 PM, lechtlr <[EMAIL PROTECTED]> wrote: > I want to read an input file (file.csv) that has two columns. I want to read > 2nd column and assign variables that are strings and floats. Currently, I > use the following split() function to read from the input file and create a > list, and then assign each element to a variable. > > I am wondering there is any other easier (and elegant) way of doing this ? > > data = [] > for line in open("file.csv"): > columns = line.split(',') > data.append([columns[1]]) > > This script returns, say: > data = [ ['20.0'], ['0.34'], ................,[ 'a:0.20, b:0.30, c:0.50' ]] > > Then, I assign to a set of variables, say: > > x1 = float(data[0][0]) ; x2 = float(data[1][0]);.............;xn = > data[-1][0] > > > Thanks, > Lex > > > > > > > > > ________________________________ > Never miss a thing. Make Yahoo your homepage. > _______________________________________________ > Tutor maillist - Tutor@python.org > http://mail.python.org/mailman/listinfo/tutor > > -- Michael Langford Phone: 404-386-0495 Consulting: http://www.RowdyLabs.com _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor