def drop_tables(): """Drops the tables so you can start again fresh""" try: PatientMeasurement.drop_table() Feature.drop_table() except Exception as e: print "Failed to drop tables", e raise
with open(TRAINING_DATA_FILE_NAME, "rb") as csvfile: reader = csv.reader(csvfile, delimiter="|") next(reader, None) row_list = list(reader) number_of_rows = len(row_list) start_index = 0 print "Inserting %s rows" % number_of_rows # xrange does not include the final number but its fine because we index # from 0 start_time = datetime.datetime.now() upper_limit = int(ceil(number_of_rows / BATCH_SIZE)) for _ in xrange(upper_limit): batch_start_time = datetime.datetime.now() PatientMeasurement.insert_many( yield_x_rows(row_list, start_index, BATCH_SIZE) ).execute() batch_end_time = datetime.datetime.now() batch_time_taken = \ (batch_end_time - batch_start_time).total_seconds() print "Inserted %s rows in %s seconds" % (BATCH_SIZE, batch_time_taken) start_index += BATCH_SIZE rows_remaining = number_of_rows - start_index estimated_time_remaining = \ (rows_remaining / BATCH_SIZE) * batch_time_taken print "%d rows remaining, estimated time %d" % ( rows_remaining, estimated_time_remaining ) end_time = datetime.datetime.now() time_taken = \ (end_time - start_time).total_seconds()