On 2013-02-28, io <mar...@libero.it> wrote: > I'm a noob in python but my code looks like this : > > > import json > import urllib > import csv
I take back what I said about the csv module. It appears you need access to at least one of the data fields, so this is a good use of csv. > url = "http://bitcoincharts.com/t/markets.json" > response = urllib.urlopen(url); > data = json.loads(response.read()) > > f = open("/home/io/markets.csv","wb") > c = csv.writer(f) > > #apre un file di testo e legge il contenuto del file inserendolo in una > stringa > esclusioni = open('/home/io/exclusions.txt','r') > string = "" The list of exclusions should be stored in a set or list, not a string. This is your main "bug." esclusioni_file = open('/home/io/exclusions.txt','r') esclusioni = [] > while 1: > line = esclusioni.readline() > if not line:break > string += line > print string Iterate over the file instead of looping manually. for line in esclusioni_file: esclusioni.append(line.strip()) print(esclusioni) > # write headers > c.writerow(["Currency","Symbol","Bid", "Ask", "Volume"]) > > for d in data: > if d["currency"] <> "SLL": #esclude la valuta di secondlife SLL > if d["bid"] is not None and d["ask"] is not None: > if not any(str(d["symbol"]) in s for s in string): Why are you checking d["symbol"] instead of d["currency"]? Maybe I misunderstood the question. Test like this for either set or list container type. Use whichever json field is appropriate: if d["currency"] not in esclusioni: > c.writerow([str(d["currency"]),str(d["symbol"]),str(d > ["bid"]),str(d["ask"]),str(d["currency_volume"])]) > > esclusioni.close() -- Neil Cerutti -- http://mail.python.org/mailman/listinfo/python-list