def process_15minsample(conn, m_raw_data): '''Parse CSV file, process data within and put to DB Parameters ---------- conn : DBobject Connection object to temporary database path : str defines path to the files ''' # process raw data with once a day routine returndata = once_a_day_routine(m_raw_data) # put all data in a database that uses a condition for key, value in returndata.items(): m = m_raw_data.mnemonic(key) length = len(value) mean = statistics.mean(value) deviation = statistics.stdev(value) dataset = (float(m.meta['start']), float(m.meta['end']), length, mean, deviation) sql.add_data(conn, key, dataset) # add rest of the data to database for identifier in mn.mnemSet_15min: m = m_raw_data.mnemonic(identifier) temp = [] # look for all values that fit to the given conditions for element in m: temp.append(float(element['value'])) # return None if no applicable data was found if len(temp) > 2: length = len(temp) mean = statistics.mean(temp) deviation = statistics.stdev(temp) dataset = (float(m.meta['start']), float(m.meta['end']), length, mean, deviation) sql.add_data(conn, identifier, dataset) elif len(temp) == 2: dataset = (float(element['time']), float(element['time']), 1, temp[0], 0) sql.add_data(conn, identifier, dataset) else: print('No data for {}'.format(identifier)) print(temp) del temp
def process_15min_sample(conn, m_raw_data): '''Parse CSV file, process data within and put to DB Parameters ---------- conn : DBobject Connection object to temporary database path : str defines path to the files ''' #import mnemonic data and append dict to variable below m_raw_data = apt.mnemonics(path) #process raw data with once a day routine processed_data = once_a_day_routine(m_raw_data) #push extracted and filtered data to temporary database for key, value in processed_data.items(): #abbreviate data table m = m_raw_data.mnemonic(key) if key == "SE_ZIMIRICEA": length = len(value) mean = statistics.mean(value) deviation = statistics.stdev(value) dataset = (float(m.meta['start']), float(m.meta['end']), length, mean, deviation) sql.add_data(conn, "SE_ZIMIRICEA_IDLE", dataset) elif key == "IMIR_HK_ICE_SEC_VOLT4": length = len(value) mean = statistics.mean(value) deviation = statistics.stdev(value) dataset = (float(m.meta['start']), float(m.meta['end']), length, mean, deviation) sql.add_data(conn, "IMIR_HK_ICE_SEC_VOLT4_IDLE", dataset) else: length = len(value) mean = statistics.mean(value) deviation = statistics.stdev(value) dataset = (float(m.meta['start']), float(m.meta['end']), length, mean, deviation) sql.add_data(conn, key, dataset)
def process_daysample(conn, m_raw_data): '''Parse CSV file, process data within and put to DB Parameters ---------- conn : DBobject Connection object to temporary database path : str defines path to the files ''' # process raw data with once a day routine return_data, lamp_data = whole_day_routine(m_raw_data) FW, GWX, GWY = wheelpos_routine(m_raw_data) # put all data to a database that uses a condition for key, value in return_data.items(): m = m_raw_data.mnemonic(key) length = len(value) mean = statistics.mean(value) deviation = statistics.stdev(value) dataset = (float(m.meta['start']), float(m.meta['end']), length, mean, deviation) sql.add_data(conn, key, dataset) # add rest of the data to database -> no conditions applied for identifier in mn.mnemSet_day: m = m_raw_data.mnemonic(identifier) temp = [] # look for all values that fit to the given conditions for element in m: temp.append(float(element['value'])) # return None if no applicable data was found if len(temp) > 2: length = len(temp) mean = statistics.mean(temp) deviation = statistics.stdev(temp) else: print('No data for {}'.format(identifier)) del temp # add lamp data to database -> distiction over lamps for key, values in lamp_data.items(): for data in values: dataset_volt = (data[0], data[1], data[5], data[6], data[7]) dataset_curr = (data[0], data[1], data[2], data[3], data[4]) sql.add_data(conn, 'LAMP_{}_VOLT'.format(key), dataset_volt) sql.add_data(conn, 'LAMP_{}_CURR'.format(key), dataset_curr) # add wheeldata to database for key, values in FW.items(): for data in values: sql.add_wheel_data(conn, 'INRSI_C_FWA_POSITION_{}'.format(key), data) for key, values in GWX.items(): for data in values: sql.add_wheel_data(conn, 'INRSI_C_GWA_X_POSITION_{}'.format(key), data) for key, values in GWY.items(): for data in values: sql.add_wheel_data(conn, 'INRSI_C_GWA_Y_POSITION_{}'.format(key), data)
def process_day_sample(conn, m_raw_data): '''Parse CSV file, process data within and put to DB Parameters ---------- conn : DBobject Connection object to temporary database path : str defines path to the files ''' m_raw_data = apt.mnemonics(path) cond3, FW_volt, GW14_volt, GW23_volt, CCC_volt = whole_day_routine(m_raw_data) FW, GW14, GW23, CCC= wheelpos_routine(m_raw_data) #put data from con3 to database for key, value in cond3.items(): m = m_raw_data.mnemonic(key) if value != None: if len(value) > 2: if key == "SE_ZIMIRICEA": length = len(value) mean = statistics.mean(value) deviation = statistics.stdev(value) dataset = (float(m.meta['start']), float(m.meta['end']), length, mean, deviation) sql.add_data(conn, "SE_ZIMIRICEA_HV_ON", dataset) elif key == "IMIR_HK_ICE_SEC_VOLT4": length = len(value) mean = statistics.mean(value) deviation = statistics.stdev(value) dataset = (float(m.meta['start']), float(m.meta['end']), length, mean, deviation) sql.add_data(conn, "IMIR_HK_ICE_SEC_VOLT4_HV_ON", dataset) else: length = len(value) mean = statistics.mean(value) deviation = statistics.stdev(value) dataset = (float(m.meta['start']), float(m.meta['end']), length, mean, deviation) sql.add_data(conn, key, dataset) ######################################################################################### for pos in mn.fw_positions: try: data = FW[pos] for element in data: sql.add_wheel_data(conn, 'IMIR_HK_FW_POS_RATIO_{}'.format(pos), element) except KeyError: pass for pos in mn.gw_positions: try: data_GW14 = GW14[pos] data_GW23 = GW23[pos] for element in data_GW14: sql.add_wheel_data(conn, 'IMIR_HK_GW14_POS_RATIO_{}'.format(pos), element) for element in data_GW23: sql.add_wheel_data(conn, 'IMIR_HK_GW23_POS_RATIO_{}'.format(pos), element) except KeyError: pass for pos in mn.ccc_positions: try: data = CCC[pos] for element in data: sql.add_wheel_data(conn, 'IMIR_HK_CCC_POS_RATIO_{}'.format(pos), element) except KeyError: pass