"""Generate queries to load UPCs into tmp table.""" import csv import sys """ CREATE TEMPORARY TABLE (upc STRING); """ def main(): """Entrypoint.""" tablename = sys.argv[1] assert tablename.isalnum() filename = sys.argv[2] batch_size = 15000 dedupe = True # read in upcs from csv with open(filename, 'r') as f: reader = csv.DictReader(f) upcs = [ row['UPC'] for row in reader ] upcs = list(set(upcs)) if dedupe else upcs # group into max batch sizes batches = [ upcs[x:x + batch_size] for x in range(0, len(upcs), batch_size) ] # generate insert statements for batch in batches: query = f""" INSERT INTO {tablename} (upc) VALUES """ values = [ f"('{upc}')" for upc in batch ] query += ','.join(values) query += ';' print(query) if __name__ == '__main__': main()