Difficulty w/json keys
Terry Reedy
tjreedy at udel.edu
Fri Apr 23 15:17:24 EDT 2010
On 4/23/2010 10:20 AM, Red wrote:
> My apologies for what is probably a simple question to most on this
> group. However, I am new to python and very new to json.
>
> I am trying to read in a json file from a twitter download. There are,
> generally, two types of lines: those lines with "text" and the other
> lines. I am only interested in the lines with "text". I am also only
> interested in lines with "lang":"en", but I haven't gotten far enough
> to implement that condition in the code snippets below.
>
> I have gotten Option 2 below to sort of work. It works fine for
> 'text', but doesn't work for 'lang'.
You do not define 'work', 'sort of work', and "doesn't work".
> FWIW I am using Python 2.6.4
>
> Can someone tell me what I'm doing wrong with the following code
> snippets and/or point me toward an example of an implementation?
>
> Many thanks for your patience.
>
> ---------------------------------
>
> import sys
> import json
>
> f = open(sys.argv[1])
>
> #option 1
>
> for line in f:
> j = json.loads(line)
> try:
> 'text' in j
This does not raise an exception when false
> print "TEXT: ", j
so this should always print.
Forget this option.
> except:
> print "EXCEPTION: ", j
> continue
> else:
> text=j['text']
> ----snip --------
>
>
>
>
> #option 2 does basically the same thing as option 1 ,
Not at all when 'text' in not in j.
but also looks
> for 'lang'
>
> for line in f:
> j = json.loads(line)
> if 'text' in j:
> if 'lang' in j:
> lang = j['lang']
> print "language", lang
> text = j['text']
> ----snip --------
tjr
More information about the Python-list
mailing list