Re: how to read list from file
Harvey Greenberg writes: On Saturday, October 5, 2013 7:24:39 PM UTC-6, Tim Chase wrote: s = [{'a':1, 'b':2}, [1,2,3], 10] import ast print repr(ast.literal_eval(s)) [{'a': 1, 'b': 2}, [1, 2, 3], 10] that didn't work. printing it looks like the list because it's the input, but try printing len(repr(ast.literal_eval(s))). It should give 3, but it gives 72 (number of chars). Not sure what the print repr( ) is meant to achieve here, but I think you should be able to see through it: ast.literal_eval(s) [{'a': 1, 'b': 2}, [1, 2, 3], 10] len(ast.literal_eval(s)) 3 -- https://mail.python.org/mailman/listinfo/python-list
Re: how to read list from file
On 10/5/2013 9:08 PM, Harvey Greenberg wrote: I am looping as for L in file.readlines(), where file is csv. I believe 'for L in file:' does the same, more efficiently, even in 2.7. -- Terry Jan Reedy -- https://mail.python.org/mailman/listinfo/python-list
Re: how to read list from file
On Saturday, October 5, 2013 7:24:39 PM UTC-6, Tim Chase wrote: On 2013-10-05 18:08, Harvey Greenberg wrote: I am looping as for L in file.readlines(), where file is csv. L is a list of 3 items, eg, [{'a':1, 'b':2}, [1,2,3], 10] Note that the first item is a dir and 2nd is a list, so parsing with split doesn't work. Is there a way to convert L, which is a string, to the list of 3 items I want? sounds like you want ast.literal_eval(): Python 2.7.3 (default, Jan 2 2013, 13:56:14) [GCC 4.7.2] on linux2 Type help, copyright, credits or license for more information. s = [{'a':1, 'b':2}, [1,2,3], 10] import ast print repr(ast.literal_eval(s)) [{'a': 1, 'b': 2}, [1, 2, 3], 10] -tkc that didn't work. printing it looks like the list because it's the input, but try printing len(repr(ast.literal_eval(s))). It should give 3, but it gives 72 (number of chars). -- https://mail.python.org/mailman/listinfo/python-list
Re: how to read list from file
On Sunday, October 6, 2013 10:41:33 AM UTC-6, Harvey Greenberg wrote: On Saturday, October 5, 2013 7:24:39 PM UTC-6, Tim Chase wrote: On 2013-10-05 18:08, Harvey Greenberg wrote: I am looping as for L in file.readlines(), where file is csv. L is a list of 3 items, eg, [{'a':1, 'b':2}, [1,2,3], 10] Note that the first item is a dir and 2nd is a list, so parsing with split doesn't work. Is there a way to convert L, which is a string, to the list of 3 items I want? sounds like you want ast.literal_eval(): Python 2.7.3 (default, Jan 2 2013, 13:56:14) [GCC 4.7.2] on linux2 Type help, copyright, credits or license for more information. s = [{'a':1, 'b':2}, [1,2,3], 10] import ast print repr(ast.literal_eval(s)) [{'a': 1, 'b': 2}, [1, 2, 3], 10] -tkc that didn't work. printing it looks like the list because it's the input, but try printing len(repr(ast.literal_eval(s))). It should give 3, but it gives 72 (number of chars). None of the responses worked; after import json, I used: for line in inputFile.readlines(): L = json.loads(line.replace(,)) print L, len(L) I get error. I probably misunderstood how to implement these suggestions, but I wrote a list to a csv file whose members have lists. I now want to read them (in another program) and end up with the origianl list. -- https://mail.python.org/mailman/listinfo/python-list
Re: how to read list from file
On Sun, Oct 6, 2013 at 10:11 PM, Harvey Greenberg hjgreenb...@gmail.com wrote: On Saturday, October 5, 2013 7:24:39 PM UTC-6, Tim Chase wrote: Python 2.7.3 (default, Jan 2 2013, 13:56:14) [GCC 4.7.2] on linux2 Type help, copyright, credits or license for more information. s = [{'a':1, 'b':2}, [1,2,3], 10] import ast print repr(ast.literal_eval(s)) [{'a': 1, 'b': 2}, [1, 2, 3], 10] -tkc that didn't work. printing it looks like the list because it's the input, but try printing len(repr(ast.literal_eval(s))). It should give 3, but it gives 72 (number of chars). Please to remove the repr and try again? Thank you! -- Ravi -- https://mail.python.org/mailman/listinfo/python-list
Re: how to read list from file
On Saturday, October 5, 2013 7:08:08 PM UTC-6, Harvey Greenberg wrote: I am looping as for L in file.readlines(), where file is csv. L is a list of 3 items, eg, [{'a':1, 'b':2}, [1,2,3], 10] Note that the first item is a dir and 2nd is a list, so parsing with split doesn't work. Is there a way to convert L, which is a string, to the list of 3 items I want? Yay It worked. Thanks! -- https://mail.python.org/mailman/listinfo/python-list
Re: how to read list from file
On 06/10/2013 17:57, Harvey Greenberg wrote: On Saturday, October 5, 2013 7:08:08 PM UTC-6, Harvey Greenberg wrote: I am looping as for L in file.readlines(), where file is csv. L is a list of 3 items, eg, [{'a':1, 'b':2}, [1,2,3], 10] Note that the first item is a dir and 2nd is a list, so parsing with split doesn't work. Is there a way to convert L, which is a string, to the list of 3 items I want? Yay It worked. Thanks! Very pleased to know, but if you need to post again would you be kind enough to read this first, thanks https://wiki.python.org/moin/GoogleGroupsPython -- Roses are red, Violets are blue, Most poems rhyme, But this one doesn't. Mark Lawrence -- https://mail.python.org/mailman/listinfo/python-list
Re: how to read list from file
On Sun, Oct 6, 2013 at 10:27 PM, Harvey Greenberg hjgreenb...@gmail.com wrote: On Saturday, October 5, 2013 7:08:08 PM UTC-6, Harvey Greenberg wrote: I am looping as for L in file.readlines(), where file is csv. L is a list of 3 items, eg, [{'a':1, 'b':2}, [1,2,3], 10] Note that the first item is a dir and 2nd is a list, so parsing with split doesn't work. Is there a way to convert L, which is a string, to the list of 3 items I want? Yay It worked. Thanks! Which method working? Literal_eval method? JSON method? Some third method? [I am newbie so interested. Please to excuse!!] -- Ravi -- https://mail.python.org/mailman/listinfo/python-list
how to read list from file
I am looping as for L in file.readlines(), where file is csv. L is a list of 3 items, eg, [{'a':1, 'b':2}, [1,2,3], 10] Note that the first item is a dir and 2nd is a list, so parsing with split doesn't work. Is there a way to convert L, which is a string, to the list of 3 items I want? -- https://mail.python.org/mailman/listinfo/python-list
Re: how to read list from file
On 2013-10-05 18:08, Harvey Greenberg wrote: I am looping as for L in file.readlines(), where file is csv. L is a list of 3 items, eg, [{'a':1, 'b':2}, [1,2,3], 10] Note that the first item is a dir and 2nd is a list, so parsing with split doesn't work. Is there a way to convert L, which is a string, to the list of 3 items I want? sounds like you want ast.literal_eval(): Python 2.7.3 (default, Jan 2 2013, 13:56:14) [GCC 4.7.2] on linux2 Type help, copyright, credits or license for more information. s = [{'a':1, 'b':2}, [1,2,3], 10] import ast print repr(ast.literal_eval(s)) [{'a': 1, 'b': 2}, [1, 2, 3], 10] -tkc -- https://mail.python.org/mailman/listinfo/python-list
Re: how to read list from file
In article fbc6e512-88fa-4de0-80d3-6757fcc52...@googlegroups.com, Harvey Greenberg hjgreenb...@gmail.com wrote: I am looping as for L in file.readlines(), where file is csv. L is a list of 3 items, eg, [{'a':1, 'b':2}, [1,2,3], 10] Note that the first item is a dir and 2nd is a list, so parsing with split doesn't work. Is there a way to convert L, which is a string, to the list of 3 items I want? I hate to recommend it (since it's bad practice for a number of legitimate reasons), but passing your string to eval() will get you what you want. It's also very close to being valid JSON syntax, the only difference being the use of single instead of double quotes. You might want to just turn it into JSON by substituting the right kind of quotes. json.loads([{'a':1, 'b':2}, [1,2,3], 10].replace(', '')) [{u'a': 1, u'b': 2}, [1, 2, 3], 10] -- https://mail.python.org/mailman/listinfo/python-list
Re: how to read list from file
In article mailman.767.1381022585.18130.python-l...@python.org, Tim Chase python.l...@tim.thechases.com wrote: sounds like you want ast.literal_eval(): This sounds like a better idea than either of my earlier suggestions! -- https://mail.python.org/mailman/listinfo/python-list