"""This script splits IMPORT json with array into CHUNKS. This can be useful to avoid problems with a large json file during the import step. """ import json import sys INPUT = 'import.json' if len(sys.argv) <= 1 else sys.argv[1] OUTPUT = 'output' if len(sys.argv) <= 2 else sys.argv[2] CHUNKS = 2 if len(sys.argv) <= 3 else int(sys.argv[3]) print('Usage: python ' + sys.argv[0] + ' import.json output 10') if __name__ == '__main__': with open(INPUT) as f: j = json.load(f) total = len(j) chunk_size = int(total / float(CHUNKS)) chunk_size = 1 if chunk_size < 1 else chunk_size start = 0 count = 0 while start < len(j): filename = OUTPUT + str(count) + '.json' print(filename, '<=', INPUT, '[', start, ':', start + chunk_size, ']') with open(filename, 'w') as out: json.dump(j[start : start + chunk_size], out) start += chunk_size count += 1