있는데요.
5건의 데이터를 하나로 합쳐서 보내는데 이게 처음 몇번은 잘 되는데 여러번 반복하다보니까 리스트 범위 초과 오류가 나오더라구요
Traceback (most recent call last):
File "D:\Eclipse workspace\maketempdata\outlet\transoutlet_val_samsung.py", line 111, in <module>
del result[6]
IndexError: list assignment index out of range
파이썬은 이제 접한지 2주가 되었는데 킁....
무엇이 잘못 됬는지 좀 알려주세요 ㅠ
많이 잘못 됬겠지만... 디비 접속 관련 부분은 다 뺐습니다.
------
gate = ('1', '2', '3')
plc = ('1', '2', '3', '4')
relayn = ('1', '2', '3', '4')
resultindex = [0,1,2,3,4,5,6,7]
minute = 5
selectquery = "SELECT * FROM samsung WHERE gatecode = %(gatecode)s AND plccode = %(plccode)s AND relaynum = %(relaynum)s"
insertquery = "INSERT INTO samsung (gatecode, plccode, relaynum, date, amp, state, power) VALUES(%(gatecode)s, %(plccode)s, %(relaynum)s, %(date)s, %(amp)s, %(state)s, %(power)s)"
searchquery = "SELECT count(*) FROM samsung WHERE gatecode = %(gatecode)s AND plccode = %(plccode)s AND relaynum = %(relaynum)s"
item_count = 0
for gaco in gate:
for plccode in plc:
for relay in relayn:
factor={
"gatecode": gaco,
"plccode": plccode,
"relaynum": relay,
}
with fromdb.cursor() as cur:
cur.execute(searchquery,factor)
searchtemp = cur.fetchone()
item_count = searchtemp[0]
cur.execute(selectquery,factor)
temp = cur.fetchmany(minute)
print(temp)
fromdb.commit()
with fordb.cursor() as cur:
cur.execute(searchquery,factor)
searchtemp = cur.fetchone()
item_count = searchtemp[0]
result = []
tempinresult = 0.0
while(1):
if(item_count < len(temp)):
result.insert (0,temp[0][0])
result.insert (1,temp[0][1])
result.insert (2,temp[0][2])
result.insert (3,temp[0][3])
result.insert (4,'0')
result.insert (5,temp[0][5])
result.insert (6,'0')
tempinresult = tempinresult + float(temp[item_count][4])
print("+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+")
item_count = item_count + 1
else:
del result[4]
result.insert(4, "{0:.4f}".format(tempinresult))
del result[6]
tempinresult = float(tempinresult) * 220
result.insert(6, "{0:.2f}".format(tempinresult))
tempinresult = 0.0
break
outlet_val={
"gatecode": result[0],
"plccode": result[1],
"relaynum": result[2],
"date": result[3],
"amp": result[4],
"state": result[5],
"power": result[6],
}
cur.execute(insertquery,outlet_val)
fordb.commit()
del result[0:6]
del result[6]
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.