Hallo, Bebbi,
Du sagst immer noch nicht, wie Du die Daten bekommst.
Input_data ist eine Liste. Doch was für einen Typ haben die Variablen VOL90D und EURCHF ?
Mein "Glaschügeli" bleibt auch dunkel.
Also nehm ich an, die Daten sind in Listenform.
Und Du kannst Du das so lösen:
Der erste und der vierte Datensatz sind unvollständig.
Da der erste Datensatz ja keinen Vorgänger hat, wird dieser mit einem Dummywert ergänzt.
Code: Alles auswählen
from copy import deepcopy
DATEN = [
[['A', 'a'], []],
[['B', 'b'], ['B', 2]],
[['C', 'c'], ['C', 3]],
[['D', 'd'], ['D', 4]],
[['E', 'e'], []],
[['F', 'f'], ['F', 5]],
]
# Datenliste zur Simulation
def pruefe_daten():
for i, datensatz in enumerate(DATEN):
neuer_datensatz = []
if len(datensatz[1]) != 0:
#datensatz ist vollständig
alter_datensatz = deepcopy(datensatz)
if i == 0 and len(datensatz[1]) == 0:
# erster datensatz ist unvollständig
neuer_datensatz.append(datensatz[0])
neuer_datensatz.append([datensatz[0][0], 'X'])
# erster datensatz ist unvollständig und wird mit X ergänzt
alter_datensatz = [[0,0], [0, 0]]
else:
neuer_datensatz = ergaenze_datensatz(datensatz, i, neuer_datensatz,
alter_datensatz)
print(i, neuer_datensatz)
def ergaenze_datensatz(datensatz, i, neuer_datensatz, alter_datensatz):
neuer_datensatz.append(datensatz[0])
neuer_datensatz.append([neuer_datensatz[0][0],alter_datensatz[1][1]])
return neuer_datensatz
if __name__ == '__main__':
pruefe_daten()
Du kannst auch prüfen, was die Daten für einen Typ haben und wie sie aussehen.
Code: Alles auswählen
print(Input_data[0], "Type", (type(Input_data[0]), "\n", Input_data[1], "Type", type(Input_data[1]))
Sollte meine Annahme nicht stimmen, stell doch den Ausdruck vom print hier rein.
Gruss Peter (ein Nachbar)