On May 9, 9:33 pm, python <w.g.sned...@gmail.com> wrote: > On May 8, 12:43 pm, Benjamin Kaplan <benjamin.kap...@case.edu> wrote: > > > > > > > > > > > On Sun, May 8, 2011 at 8:20 AM, Greg Lindstrom <gslindst...@gmail.com> > > wrote: > > > Is it possible to create a dictionary from a string value? Something > > > along > > > these lines (but that works): > > > >>>> mystring = "{'name':'greg','hatsize':'7 5/8'}" > > >>>> mystring > > > "{'name':'greg','hatsize':'7 5/8'}" > > >>>> dict(mystring) > > > Traceback (most recent call last): > > > File "<string>", line 1, in <fragment> > > > ValueError: dictionary update sequence element #0 has length 1; 2 is > > > required > > > > I would like to return an undetermined (at call time) number of fields > > > from > > > a postgres database (only 1 record) for a given request. My thought is > > > that > > > I could build a dictionary in the form of a string, return the string and > > > then convert the string value to a dictionary. I can do that now, but I > > > have to parse the string and then build the dictionary. Any thoughts or > > > help you could provide would be appreciated. > > > > --greg > > > building the dictionary as a string seems like a hacky thing to do and > > you might want to reevaluate your methods. But if everything in the > > dict is a literal, you can do ast.literal_eval. > > > > -- > > >http://mail.python.org/mailman/listinfo/python-list > > There are lots of possibilites and the "best" solution will very based > on your strings' structure. List of tuples convert to dict nicely for > example. So if your string can be parse to a list of tuples. > > a = [ (chr(num),num) for num in range(48,58)] > [('0', 48), ('1', 49), ('2', 50), ('3', 51), ('4', 52), ('5', 53), > ('6', 54), ('7', 55), ('8', 56)] > dict(a) > {'1': 49, '0': 48, '3': 51, '2': 50, '5': 53, '4': 52, '7': 55, '6': > 54, '9': 57, '8': 56} > if your string looks something like your example above. The shlex > module might be helpful.
After re-reading your post saw you were reading from a database. Have you looked at SQLAlchemy? It might have the functionality you are trying to create. -- http://mail.python.org/mailman/listinfo/python-list