diff --git a/data/make-sql.py b/data/make-sql.py index 76ec438e2f6963276cca920f15d2d6337a2a1bbf..b210484cc7ddd53bd0348698d169be4828950637 100644 --- a/data/make-sql.py +++ b/data/make-sql.py @@ -154,7 +154,7 @@ def find_types(labels, data): -def make_row(fields, i) -> str: +def make_row(fields, i, last=False) -> str: values = [i] for key in labels: if 'varchar' in labels[key]['type']: @@ -166,6 +166,8 @@ def make_row(fields, i) -> str: else: value = fields[key] if key in fields else 0 values.append(value) + if last: + return '(' + ', '.join(f'{v}' for v in values) + ');\n' return '(' + ', '.join(f'{v}' for v in values) + '),\n' # return f'({i}, "{fields["acad_mies"]}", "{fields["acc_ab"]}", "{fields["acc_aca_orig"]}", "{fields["ville_etab"]}", "{fields["lib_for_voe_ins"]}"),\n' @@ -173,7 +175,6 @@ def make_row(fields, i) -> str: with open('fr-esr-parcoursup.json', 'r') as f: data = json.load(f) random.shuffle(data) -data = data[:1000] find_types(labels, data) @@ -186,12 +187,14 @@ for k, v in labels.items(): lines.append(" PRIMARY KEY (`id`)") lines.append("\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;\n\n") -lines.append('INSERT INTO `parcoursup` (`id`, ' + ', '.join(f'`{k}`' for k in labels) + ') VALUES\n') -# print(lines) - -for i, datum in enumerate(data): - lines.append(make_row(datum['fields'], i+1)) - +for i in range(len(data)): + if i % 100 == 0: + lines.append('INSERT INTO `parcoursup` (`id`, ' + ', '.join(f'`{k}`' for k in labels) + ') VALUES\n') + lines.append(make_row(data[i]['fields'], i+1)) + elif i % 100 == 99: + lines.append(make_row(data[i]['fields'], i+1, True)) + else: + lines.append(make_row(data[i]['fields'], i+1)) lines.append(ending) with open('dog_breeds.sql', 'w') as writer: