how to read list from file
Harvey Greenberg
hjgreenberg at gmail.com
Sun Oct 6 12:46:35 EDT 2013
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.
More information about the Python-list
mailing list