Python code is taking very long time while creating JSON file -


i using python 2.6.6 version , wrote code create json file reading data oracle table shown below.

#!/usr/bin/python import json import cx_oracle import collections collections import ordereddict import sys import os import logging datetime import datetime  connstr = u'username/password@dbname' conn = cx_oracle.connect(connstr) r_cursor = conn.cursor() r_cursor.execute("sql query") prows = r_cursor.fetchall() objects_list = []  prow in prows:     p = collections.ordereddict()     p['col1'] = prow[0]     p['col2'] = prow[1]     p['col3'] = prow[2]     p['col4'] = prow[3]     p['col5'] = prow[4]     #this filter null columns     pf = ordereddict((k, v) (k, v) in p.iteritems()                         if v not in ('none', none))     objects_list.append(pf)  if len(objects_list)>0:     ef['name'] = objects_list else:     pass  j = json.dumps(ef,indent=2) objects_file = 'filename.js' f = open(objects_file,'w') print >> f,j conn.close() f.close() 

when reading 100 k records fast , completing in 5 secs when reading data 1.5 million taking 15 mins. tried giving prows = r_cursor.fetcmany(100000) completed fast 100000 records , coming out. please suggest how read data each time 100000 records , loop next records. heard generator work on way. please suggest how use generator here?

not answer how writing instead too?

prow = [none, 1, 2, 3, 4] collections.ordereddict(('col{}'.format(i+1), prow[i]) in range(5) if prow[i] not in ("none",none)) 

returns:

ordereddict([('col2', 1), ('col3', 2), ('col4', 3), ('col5', 4)]) 

Comments

Popular posts from this blog

What is happening when Matlab is starting a "parallel pool"? -

angular - DownloadURL return null in below code -

php - Cannot override Laravel Spark authentication with own implementation -