307 lines
22 KiB
Python
Executable File
307 lines
22 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
import sys
|
|
import os
|
|
from mysql.connector import MySQLConnection, Error
|
|
from dbconfig import read_db_config
|
|
from datetime import datetime
|
|
import math
|
|
import shutil
|
|
|
|
def removeDuplicates(lst):
|
|
return list(set([i for i in lst]))
|
|
|
|
def getDataFromCsvAndInsert(pathFile):
|
|
try:
|
|
print(pathFile)
|
|
folder_name = pathFile.split("/")[-2]#cartella
|
|
with open(pathFile, 'r') as file:
|
|
data = file.readlines()
|
|
data = [row.rstrip() for row in data]
|
|
if(len(data) > 0 and data is not None):
|
|
if(folder_name == "ID0247"):
|
|
unit_name = "ID0247"
|
|
tool_name = "DT0001"
|
|
data.pop(0) #rimuove header
|
|
data.pop(0)
|
|
data.pop(0)
|
|
data.pop(0)
|
|
data = [element for element in data if element != ""]
|
|
try:
|
|
db_config = read_db_config()
|
|
conn = MySQLConnection(**db_config)
|
|
cursor = conn.cursor()
|
|
queryElab = "insert ignore into ELABDATADISP(UnitName,ToolNameID,NodeNum,EventDate,EventTime,load_value) values (%s,%s,%s,%s,%s,%s)"
|
|
queryRaw = "insert ignore into RAWDATACOR(UnitName,ToolNameID,NodeNum,EventDate,EventTime,BatLevel,Temperature,Val0) values (%s,%s,%s,%s,%s,%s,%s,%s)"
|
|
if("_1_" in pathFile):
|
|
print("File tipo 1.\n")
|
|
#print(unit_name, tool_name)
|
|
dataToInsertElab = []
|
|
dataToInsertRaw = []
|
|
for row in data:
|
|
rowSplitted = row.replace("\"","").split(";")
|
|
eventTimestamp = rowSplitted[0].split(" ")
|
|
date = eventTimestamp[0].split("-")
|
|
date = date[2]+"-"+date[1]+"-"+date[0]
|
|
time = eventTimestamp[1]
|
|
an3 = rowSplitted[1]
|
|
an4 = rowSplitted[2]#V unit battery
|
|
OUTREG2 = rowSplitted[3]
|
|
E8_181_CH2 = rowSplitted[4]#2
|
|
E8_181_CH3 = rowSplitted[5]#3
|
|
E8_181_CH4 = rowSplitted[6]#4
|
|
E8_181_CH5 = rowSplitted[7]#5
|
|
E8_181_CH6 = rowSplitted[8]#6
|
|
E8_181_CH7 = rowSplitted[9]#7
|
|
E8_181_CH8 = rowSplitted[10]#8
|
|
E8_182_CH1 = rowSplitted[11]#9
|
|
E8_182_CH2 = rowSplitted[12]#10
|
|
E8_182_CH3 = rowSplitted[13]#11
|
|
E8_182_CH4 = rowSplitted[14]#12
|
|
E8_182_CH5 = rowSplitted[15]#13
|
|
E8_182_CH6 = rowSplitted[16]#14
|
|
E8_182_CH7 = rowSplitted[17]#15
|
|
E8_182_CH8 = rowSplitted[18]#16
|
|
E8_183_CH1 = rowSplitted[19]#17
|
|
E8_183_CH2 = rowSplitted[20]#18
|
|
E8_183_CH3 = rowSplitted[21]#19
|
|
E8_183_CH4 = rowSplitted[22]#20
|
|
E8_183_CH5 = rowSplitted[23]#21
|
|
E8_183_CH6 = rowSplitted[24]#22
|
|
E8_183_CH7 = rowSplitted[25]#23
|
|
E8_183_CH8 = rowSplitted[26]#24
|
|
E8_184_CH1 = rowSplitted[27]#25
|
|
E8_184_CH2 = rowSplitted[28]#26
|
|
E8_184_CH3 = rowSplitted[29]#27 mv/V
|
|
E8_184_CH4 = rowSplitted[30]#28 mv/V
|
|
E8_184_CH5 = rowSplitted[31]#29 mv/V
|
|
E8_184_CH6 = rowSplitted[32]#30 mv/V
|
|
E8_184_CH7 = rowSplitted[33]#31 mv/V
|
|
E8_184_CH8 = rowSplitted[34]#32 mv/V
|
|
E8_181_CH1 = rowSplitted[35]#1
|
|
an1 = rowSplitted[36]
|
|
an2 = rowSplitted[37]
|
|
#print(unit_name, tool_name, 1, E8_181_CH1)
|
|
#print(unit_name, tool_name, 2, E8_181_CH2)
|
|
#print(unit_name, tool_name, 3, E8_181_CH3)
|
|
#print(unit_name, tool_name, 4, E8_181_CH4)
|
|
#print(unit_name, tool_name, 5, E8_181_CH5)
|
|
#print(unit_name, tool_name, 6, E8_181_CH6)
|
|
#print(unit_name, tool_name, 7, E8_181_CH7)
|
|
#print(unit_name, tool_name, 8, E8_181_CH8)
|
|
#print(unit_name, tool_name, 9, E8_182_CH1)
|
|
#print(unit_name, tool_name, 10, E8_182_CH2)
|
|
#print(unit_name, tool_name, 11, E8_182_CH3)
|
|
#print(unit_name, tool_name, 12, E8_182_CH4)
|
|
#print(unit_name, tool_name, 13, E8_182_CH5)
|
|
#print(unit_name, tool_name, 14, E8_182_CH6)
|
|
#print(unit_name, tool_name, 15, E8_182_CH7)
|
|
#print(unit_name, tool_name, 16, E8_182_CH8)
|
|
#print(unit_name, tool_name, 17, E8_183_CH1)
|
|
#print(unit_name, tool_name, 18, E8_183_CH2)
|
|
#print(unit_name, tool_name, 19, E8_183_CH3)
|
|
#print(unit_name, tool_name, 20, E8_183_CH4)
|
|
#print(unit_name, tool_name, 21, E8_183_CH5)
|
|
#print(unit_name, tool_name, 22, E8_183_CH6)
|
|
#print(unit_name, tool_name, 23, E8_183_CH7)
|
|
#print(unit_name, tool_name, 24, E8_183_CH8)
|
|
#print(unit_name, tool_name, 25, E8_184_CH1)
|
|
#print(unit_name, tool_name, 26, E8_184_CH2)
|
|
#print(unit_name, tool_name, 27, E8_184_CH3)
|
|
#print(unit_name, tool_name, 28, E8_184_CH4)
|
|
#print(unit_name, tool_name, 29, E8_184_CH5)
|
|
#print(unit_name, tool_name, 30, E8_184_CH6)
|
|
#print(unit_name, tool_name, 31, E8_184_CH7)
|
|
#print(unit_name, tool_name, 32, E8_184_CH8)
|
|
#---------------------------------------------------------------------------------------
|
|
dataToInsertRaw.append((unit_name, tool_name, 1, date, time, an4, -273, E8_181_CH1))
|
|
dataToInsertRaw.append((unit_name, tool_name, 2, date, time, an4, -273, E8_181_CH2))
|
|
dataToInsertRaw.append((unit_name, tool_name, 3, date, time, an4, -273, E8_181_CH3))
|
|
dataToInsertRaw.append((unit_name, tool_name, 4, date, time, an4, -273, E8_181_CH4))
|
|
dataToInsertRaw.append((unit_name, tool_name, 5, date, time, an4, -273, E8_181_CH5))
|
|
dataToInsertRaw.append((unit_name, tool_name, 6, date, time, an4, -273, E8_181_CH6))
|
|
dataToInsertRaw.append((unit_name, tool_name, 7, date, time, an4, -273, E8_181_CH7))
|
|
dataToInsertRaw.append((unit_name, tool_name, 8, date, time, an4, -273, E8_181_CH8))
|
|
dataToInsertRaw.append((unit_name, tool_name, 9, date, time, an4, -273, E8_182_CH1))
|
|
dataToInsertRaw.append((unit_name, tool_name, 10, date, time, an4, -273, E8_182_CH2))
|
|
dataToInsertRaw.append((unit_name, tool_name, 11, date, time, an4, -273, E8_182_CH3))
|
|
dataToInsertRaw.append((unit_name, tool_name, 12, date, time, an4, -273, E8_182_CH4))
|
|
dataToInsertRaw.append((unit_name, tool_name, 13, date, time, an4, -273, E8_182_CH5))
|
|
dataToInsertRaw.append((unit_name, tool_name, 14, date, time, an4, -273, E8_182_CH6))
|
|
dataToInsertRaw.append((unit_name, tool_name, 15, date, time, an4, -273, E8_182_CH7))
|
|
dataToInsertRaw.append((unit_name, tool_name, 16, date, time, an4, -273, E8_182_CH8))
|
|
dataToInsertRaw.append((unit_name, tool_name, 17, date, time, an4, -273, E8_183_CH1))
|
|
dataToInsertRaw.append((unit_name, tool_name, 18, date, time, an4, -273, E8_183_CH2))
|
|
dataToInsertRaw.append((unit_name, tool_name, 19, date, time, an4, -273, E8_183_CH3))
|
|
dataToInsertRaw.append((unit_name, tool_name, 20, date, time, an4, -273, E8_183_CH4))
|
|
dataToInsertRaw.append((unit_name, tool_name, 21, date, time, an4, -273, E8_183_CH5))
|
|
dataToInsertRaw.append((unit_name, tool_name, 22, date, time, an4, -273, E8_183_CH6))
|
|
dataToInsertRaw.append((unit_name, tool_name, 23, date, time, an4, -273, E8_183_CH7))
|
|
dataToInsertRaw.append((unit_name, tool_name, 24, date, time, an4, -273, E8_183_CH8))
|
|
dataToInsertRaw.append((unit_name, tool_name, 25, date, time, an4, -273, E8_184_CH1))
|
|
dataToInsertRaw.append((unit_name, tool_name, 26, date, time, an4, -273, E8_184_CH2))
|
|
#---------------------------------------------------------------------------------------
|
|
dataToInsertElab.append((unit_name, tool_name, 1, date, time, E8_181_CH1))
|
|
dataToInsertElab.append((unit_name, tool_name, 2, date, time, E8_181_CH2))
|
|
dataToInsertElab.append((unit_name, tool_name, 3, date, time, E8_181_CH3))
|
|
dataToInsertElab.append((unit_name, tool_name, 4, date, time, E8_181_CH4))
|
|
dataToInsertElab.append((unit_name, tool_name, 5, date, time, E8_181_CH5))
|
|
dataToInsertElab.append((unit_name, tool_name, 6, date, time, E8_181_CH6))
|
|
dataToInsertElab.append((unit_name, tool_name, 7, date, time, E8_181_CH7))
|
|
dataToInsertElab.append((unit_name, tool_name, 8, date, time, E8_181_CH8))
|
|
dataToInsertElab.append((unit_name, tool_name, 9, date, time, E8_182_CH1))
|
|
dataToInsertElab.append((unit_name, tool_name, 10, date, time, E8_182_CH2))
|
|
dataToInsertElab.append((unit_name, tool_name, 11, date, time, E8_182_CH3))
|
|
dataToInsertElab.append((unit_name, tool_name, 12, date, time, E8_182_CH4))
|
|
dataToInsertElab.append((unit_name, tool_name, 13, date, time, E8_182_CH5))
|
|
dataToInsertElab.append((unit_name, tool_name, 14, date, time, E8_182_CH6))
|
|
dataToInsertElab.append((unit_name, tool_name, 15, date, time, E8_182_CH7))
|
|
dataToInsertElab.append((unit_name, tool_name, 16, date, time, E8_182_CH8))
|
|
dataToInsertElab.append((unit_name, tool_name, 17, date, time, E8_183_CH1))
|
|
dataToInsertElab.append((unit_name, tool_name, 18, date, time, E8_183_CH2))
|
|
dataToInsertElab.append((unit_name, tool_name, 19, date, time, E8_183_CH3))
|
|
dataToInsertElab.append((unit_name, tool_name, 20, date, time, E8_183_CH4))
|
|
dataToInsertElab.append((unit_name, tool_name, 21, date, time, E8_183_CH5))
|
|
dataToInsertElab.append((unit_name, tool_name, 22, date, time, E8_183_CH6))
|
|
dataToInsertElab.append((unit_name, tool_name, 23, date, time, E8_183_CH7))
|
|
dataToInsertElab.append((unit_name, tool_name, 24, date, time, E8_183_CH8))
|
|
dataToInsertElab.append((unit_name, tool_name, 25, date, time, E8_184_CH1))
|
|
dataToInsertElab.append((unit_name, tool_name, 26, date, time, E8_184_CH2))
|
|
#---------------------------------------------------------------------------------------
|
|
cursor.executemany(queryElab, dataToInsertElab)
|
|
cursor.executemany(queryRaw, dataToInsertRaw)
|
|
conn.commit()
|
|
#print(dataToInsertElab)
|
|
#print(dataToInsertRaw)
|
|
elif("_2_" in pathFile):
|
|
print("File tipo 2.\n")
|
|
#print(unit_name, tool_name)
|
|
dataToInsertElab = []
|
|
dataToInsertRaw = []
|
|
for row in data:
|
|
rowSplitted = row.replace("\"","").split(";")
|
|
eventTimestamp = rowSplitted[0].split(" ")
|
|
date = eventTimestamp[0].split("-")
|
|
date = date[2]+"-"+date[1]+"-"+date[0]
|
|
time = eventTimestamp[1]
|
|
an2 = rowSplitted[1]
|
|
an3 = rowSplitted[2]
|
|
an1 = rowSplitted[3]
|
|
OUTREG2 = rowSplitted[4]
|
|
E8_181_CH1 = rowSplitted[5]#33 mv/V
|
|
E8_181_CH2 = rowSplitted[6]#34 mv/V
|
|
E8_181_CH3 = rowSplitted[7]#35 mv/V
|
|
E8_181_CH4 = rowSplitted[8]#36 mv/V
|
|
E8_181_CH5 = rowSplitted[9]#37 mv/V
|
|
E8_181_CH6 = rowSplitted[10]#38 mv/V
|
|
E8_181_CH7 = rowSplitted[11]#39 mv/V
|
|
E8_181_CH8 = rowSplitted[12]#40 mv/V
|
|
E8_182_CH1 = rowSplitted[13]#41
|
|
E8_182_CH2 = rowSplitted[14]#42
|
|
E8_182_CH3 = rowSplitted[15]#43
|
|
E8_182_CH4 = rowSplitted[16]#44
|
|
E8_182_CH5 = rowSplitted[17]#45 mv/V
|
|
E8_182_CH6 = rowSplitted[18]#46 mv/V
|
|
E8_182_CH7 = rowSplitted[19]#47 mv/V
|
|
E8_182_CH8 = rowSplitted[20]#48 mv/V
|
|
E8_183_CH1 = rowSplitted[21]#49
|
|
E8_183_CH2 = rowSplitted[22]#50
|
|
E8_183_CH3 = rowSplitted[23]#51
|
|
E8_183_CH4 = rowSplitted[24]#52
|
|
E8_183_CH5 = rowSplitted[25]#53 mv/V
|
|
E8_183_CH6 = rowSplitted[26]#54 mv/V
|
|
E8_183_CH7 = rowSplitted[27]#55 mv/V
|
|
E8_183_CH8 = rowSplitted[28]#56
|
|
E8_184_CH1 = rowSplitted[29]#57
|
|
E8_184_CH2 = rowSplitted[30]#58
|
|
E8_184_CH3 = rowSplitted[31]#59
|
|
E8_184_CH4 = rowSplitted[32]#60
|
|
E8_184_CH5 = rowSplitted[33]#61
|
|
E8_184_CH6 = rowSplitted[34]#62
|
|
E8_184_CH7 = rowSplitted[35]#63 mv/V
|
|
E8_184_CH8 = rowSplitted[36]#64 mv/V
|
|
an4 = rowSplitted[37]#V unit battery
|
|
#print(unit_name, tool_name, 33, E8_181_CH1)
|
|
#print(unit_name, tool_name, 34, E8_181_CH2)
|
|
#print(unit_name, tool_name, 35, E8_181_CH3)
|
|
#print(unit_name, tool_name, 36, E8_181_CH4)
|
|
#print(unit_name, tool_name, 37, E8_181_CH5)
|
|
#print(unit_name, tool_name, 38, E8_181_CH6)
|
|
#print(unit_name, tool_name, 39, E8_181_CH7)
|
|
#print(unit_name, tool_name, 40, E8_181_CH8)
|
|
#print(unit_name, tool_name, 41, E8_182_CH1)
|
|
#print(unit_name, tool_name, 42, E8_182_CH2)
|
|
#print(unit_name, tool_name, 43, E8_182_CH3)
|
|
#print(unit_name, tool_name, 44, E8_182_CH4)
|
|
#print(unit_name, tool_name, 45, E8_182_CH5)
|
|
#print(unit_name, tool_name, 46, E8_182_CH6)
|
|
#print(unit_name, tool_name, 47, E8_182_CH7)
|
|
#print(unit_name, tool_name, 48, E8_182_CH8)
|
|
#print(unit_name, tool_name, 49, E8_183_CH1)
|
|
#print(unit_name, tool_name, 50, E8_183_CH2)
|
|
#print(unit_name, tool_name, 51, E8_183_CH3)
|
|
#print(unit_name, tool_name, 52, E8_183_CH4)
|
|
#print(unit_name, tool_name, 53, E8_183_CH5)
|
|
#print(unit_name, tool_name, 54, E8_183_CH6)
|
|
#print(unit_name, tool_name, 55, E8_183_CH7)
|
|
#print(unit_name, tool_name, 56, E8_183_CH8)
|
|
#print(unit_name, tool_name, 57, E8_184_CH1)
|
|
#print(unit_name, tool_name, 58, E8_184_CH2)
|
|
#print(unit_name, tool_name, 59, E8_184_CH3)
|
|
#print(unit_name, tool_name, 60, E8_184_CH4)
|
|
#print(unit_name, tool_name, 61, E8_184_CH5)
|
|
#print(unit_name, tool_name, 62, E8_184_CH6)
|
|
#print(unit_name, tool_name, 63, E8_184_CH7)
|
|
#print(unit_name, tool_name, 64, E8_184_CH8)
|
|
#print(rowSplitted)
|
|
#---------------------------------------------------------------------------------------
|
|
dataToInsertRaw.append((unit_name, tool_name, 41, date, time, an4, -273, E8_182_CH1))
|
|
dataToInsertRaw.append((unit_name, tool_name, 42, date, time, an4, -273, E8_182_CH2))
|
|
dataToInsertRaw.append((unit_name, tool_name, 43, date, time, an4, -273, E8_182_CH3))
|
|
dataToInsertRaw.append((unit_name, tool_name, 44, date, time, an4, -273, E8_182_CH4))
|
|
dataToInsertRaw.append((unit_name, tool_name, 49, date, time, an4, -273, E8_183_CH1))
|
|
dataToInsertRaw.append((unit_name, tool_name, 50, date, time, an4, -273, E8_183_CH2))
|
|
dataToInsertRaw.append((unit_name, tool_name, 51, date, time, an4, -273, E8_183_CH3))
|
|
dataToInsertRaw.append((unit_name, tool_name, 52, date, time, an4, -273, E8_183_CH4))
|
|
dataToInsertRaw.append((unit_name, tool_name, 56, date, time, an4, -273, E8_183_CH8))
|
|
dataToInsertRaw.append((unit_name, tool_name, 57, date, time, an4, -273, E8_184_CH1))
|
|
dataToInsertRaw.append((unit_name, tool_name, 58, date, time, an4, -273, E8_184_CH2))
|
|
dataToInsertRaw.append((unit_name, tool_name, 59, date, time, an4, -273, E8_184_CH3))
|
|
dataToInsertRaw.append((unit_name, tool_name, 60, date, time, an4, -273, E8_184_CH4))
|
|
dataToInsertRaw.append((unit_name, tool_name, 61, date, time, an4, -273, E8_184_CH5))
|
|
dataToInsertRaw.append((unit_name, tool_name, 62, date, time, an4, -273, E8_184_CH6))
|
|
#---------------------------------------------------------------------------------------
|
|
dataToInsertElab.append((unit_name, tool_name, 41, date, time, E8_182_CH1))
|
|
dataToInsertElab.append((unit_name, tool_name, 42, date, time, E8_182_CH2))
|
|
dataToInsertElab.append((unit_name, tool_name, 43, date, time, E8_182_CH3))
|
|
dataToInsertElab.append((unit_name, tool_name, 44, date, time, E8_182_CH4))
|
|
dataToInsertElab.append((unit_name, tool_name, 49, date, time, E8_183_CH1))
|
|
dataToInsertElab.append((unit_name, tool_name, 50, date, time, E8_183_CH2))
|
|
dataToInsertElab.append((unit_name, tool_name, 51, date, time, E8_183_CH3))
|
|
dataToInsertElab.append((unit_name, tool_name, 52, date, time, E8_183_CH4))
|
|
dataToInsertElab.append((unit_name, tool_name, 56, date, time, E8_183_CH8))
|
|
dataToInsertElab.append((unit_name, tool_name, 57, date, time, E8_184_CH1))
|
|
dataToInsertElab.append((unit_name, tool_name, 58, date, time, E8_184_CH2))
|
|
dataToInsertElab.append((unit_name, tool_name, 59, date, time, E8_184_CH3))
|
|
dataToInsertElab.append((unit_name, tool_name, 60, date, time, E8_184_CH4))
|
|
dataToInsertElab.append((unit_name, tool_name, 61, date, time, E8_184_CH5))
|
|
dataToInsertElab.append((unit_name, tool_name, 62, date, time, E8_184_CH6))
|
|
#---------------------------------------------------------------------------------------
|
|
cursor.executemany(queryElab, dataToInsertElab)
|
|
cursor.executemany(queryRaw, dataToInsertRaw)
|
|
conn.commit()
|
|
#print(dataToInsertElab)
|
|
#print(dataToInsertRaw)
|
|
except Error as e:
|
|
print('Error:', e)
|
|
finally:
|
|
cursor.close()
|
|
conn.close()
|
|
except Exception as e:
|
|
print(f"An unexpected error occurred: {str(e)}\n")
|
|
|
|
def main():
|
|
getDataFromCsvAndInsert(sys.argv[1])
|
|
|
|
if __name__ == '__main__':
|
|
main()
|