从Postgresql表计算Python中的行

时间:2018-11-12 12:43:52

标签: python postgresql

我得到IndexError: list index out of range

Traceback: dehnungNorm[start] = (mittelwert + (-1)) + dehnungNorm[start]

您有任何想法如何计算另一行吗? 目前,我可以只计算一行,而不能进行进一步计算。

谢谢您的时间!

代码:

#Verbindung zu PostgreSQL und SELECT der Messwerte
conn = psycopg2.connect(host = "10.50.56.154", port = "5432", dbname= "Mess", user="y", password="xxxx")
cur = conn.cursor()
select = "SELECT timestamp, fss22si_1_ch_1_sensor_1_ch_6_crackmeter_mikrometer, fs22si_1_ch_1_sensor_2_ch_7_temperatur_°c, fs22si_1_ch_1_sensor_3_ch_8_crackmeter_mikrometer,.." #....and so on... FROM dmt_test123
cur.execute(select)
result = cur.fetchall()

#Messwerte in Python-Objekte übertragen
timestamp = [];
dehnung = [];
dehnungNorm = [];
temperatur = [];

for row in result:
    timestamp.append(datetime.utcfromtimestamp(row[0]).strftime('%Y-%m-%d %H:%M:%S'))
    dehnung.append(float(row[1])), dehnung.append(float(row[3])), dehnung.append(float(row[4])), dehnung.append(float(row[6])), dehnung.append(float(row[7])), dehnung.append(float(row[8])), dehnung.append(float(row[9])), dehnung.append(float(row[10])), dehnung.append(float(row[12])), dehnung.append(float(row[13])), dehnung.append(float(row[14])), dehnung.append(float(row[15])), dehnung.append(float(row[17])), dehnung.append(float(row[18])), dehnung.append(float(row[19])), dehnung.append(float(row[21])), dehnung.append(float(row[22])), dehnung.append(float(row[23])) 
    dehnung.append(float(row[26])), dehnung.append(float(row[27])), dehnung.append(float(row[29])), dehnung.append(float(row[31])), dehnung.append(float(row[32])), dehnung.append(float(row[34])), dehnung.append(float(row[35])), dehnung.append(float(row[36])), dehnung.append(float(row[38])), dehnung.append(float(row[39])), dehnung.append(float(row[40])), dehnung.append(float(row[42])), dehnung.append(float(row[43])), dehnung.append(float(row[44])), dehnung.append(float(row[45])), dehnung.append(float(row[47])), dehnung.append(float(row[48])), dehnung.append(float(row[50])),
    dehnung.append(float(row[51])), dehnung.append(float(row[53])), dehnung.append(float(row[54])), dehnung.append(float(row[56])), dehnung.append(float(row[57])), dehnung.append(float(row[58])), dehnung.append(float(row[60])), dehnung.append(float(row[61])), dehnung.append(float(row[62])), dehnung.append(float(row[64])), dehnung.append(float(row[65])), dehnung.append(float(row[66])), dehnung.append(float(row[67])), dehnung.append(float(row[69])), dehnung.append(float(row[70])), dehnung.append(float(row[72]))
    dehnungNorm.append(float(row[1])), dehnungNorm.append(float(row[3])), dehnungNorm.append(float(row[4])), dehnungNorm.append(float(row[6])), dehnungNorm.append(float(row[7])), dehnungNorm.append(float(row[8])), dehnungNorm.append(float(row[9])), dehnungNorm.append(float(row[10])), dehnungNorm.append(float(row[12])), dehnungNorm.append(float(row[13])), dehnungNorm.append(float(row[14])), dehnungNorm.append(float(row[15])), dehnungNorm.append(float(row[17])), dehnungNorm.append(float(row[18])), dehnung.append(float(row[19])), dehnungNorm.append(float(row[21])), dehnungNorm.append(float(row[22])), dehnungNorm.append(float(row[23])) 
    dehnungNorm.append(float(row[26])), dehnungNorm.append(float(row[27])), dehnungNorm.append(float(row[29])), dehnungNorm.append(float(row[31])), dehnungNorm.append(float(row[32])), dehnungNorm.append(float(row[34])), dehnungNorm.append(float(row[35])), dehnungNorm.append(float(row[36])), dehnungNorm.append(float(row[38])), dehnungNorm.append(float(row[39])), dehnungNorm.append(float(row[40])), dehnungNorm.append(float(row[42])), dehnungNorm.append(float(row[43])), dehnungNorm.append(float(row[44])), dehnung.append(float(row[45])), dehnungNorm.append(float(row[47])), dehnungNorm.append(float(row[48])), dehnungNorm.append(float(row[50])),
    dehnungNorm.append(float(row[51])), dehnungNorm.append(float(row[53])), dehnungNorm.append(float(row[54])), dehnungNorm.append(float(row[56])), dehnungNorm.append(float(row[57])), dehnungNorm.append(float(row[58])), dehnungNorm.append(float(row[60])), dehnungNorm.append(float(row[61])), dehnungNorm.append(float(row[62])), dehnungNorm.append(float(row[64])), dehnungNorm.append(float(row[65])), dehnungNorm.append(float(row[66])), dehnungNorm.append(float(row[67])), dehnungNorm.append(float(row[69])), dehnung.append(float(row[70])), dehnungNorm.append(float(row[72]))
    temperatur.append(float(row[2])), temperatur.append(float(row[5])), temperatur.append(float(row[11])), temperatur.append(float(row[16])), temperatur.append(float(row[20])), temperatur.append(float(row[24])), temperatur.append(float(row[28])), temperatur.append(float(row[30])), temperatur.append(float(row[33])), temperatur.append(float(row[37])), temperatur.append(float(row[41])), temperatur.append(float(row[46])), temperatur.append(float(row[49])), temperatur.append(float(row[52])), temperatur.append(float(row[55])), temperatur.append(float(row[59])), temperatur.append(float(row[63])), temperatur.append(float(row[68])), temperatur.append(float(row[71])),

计算

#Messwerte normalisieren
size = 300
times = int(len(dehnung) / size)
rest = len(dehnung) % size
start = 0
end = size
for _ in range(times):
    mittelwert = sum(dehnung[start:end]) / size
    for i in range(size):
        dehnungNorm[start] = (mittelwert * (-1)) + dehnungNorm[start]
        start += 1
    end += size
if rest > 0:       
    mittelwert = sum(dehnung[start:end]) / rest
    for z in range(rest):
        dehnungNorm[start] = (mittelwert * (-1)) + dehnungNorm[start]
        start += 1

0 个答案:

没有答案