Ich habe mit einem Dataset herumspielen versucht, besser zu lernen, wie man mit Python programmiert.Der Versuch, eine while-Schleife zu implementieren, bricht den Code
Der Code, den ich erstellt habe funktioniert einwandfrei, aber nur für eine Zeile einer CSV-Datei (ich habe 571 Zeilen von Daten). Dies nimmt die Reihe und vergleicht dann die erste Nummer mit der zweiten Nummer, abhängig davon, ob die erste Nummer größer oder kleiner ist, wird diese Nummer in die entsprechende Liste eingetragen. Der Code geht dann zum nächsten Wert über und macht dasselbe.
bigger = []
smaller = []
mL_ind = 1
add = 0
add_s = 0
gross = []
largest_val = []
net_total = []
initial = open('output.csv')
reader = csv.reader(initial)
mathLine = [line.split(',')[1] for line in initial]
del mathLine[0]
mathLine = list(map(float, mathLine))
for value in mathLine:
if value > mathLine[mL_ind]:
bigger.append(value)
mL_ind = mL_ind + 1
elif value < mathLine[mL_ind]:
smaller.append(value)
mL_ind = mL_ind + 1
for value in bigger:
add = value + add
for value in smaller:
add_s = value + add_s
total = add - add_s
gross.append(total)
largest = max(mathLine)
largest_val.append(largest)
net = total/largest
net_total.append(net)
Was ich versuche, den Index zu tun war, zu verwenden (nach line.split) aus: mathline = [line.split ('') [1] für Zeile in Anfang] als Iteration zu arbeiten zum Durchlaufen der CSV-Datei sowie als Zähler für meine while-Schleife. Allerdings, wenn ich dies einrichten Ich erhalte eine Fehlermeldung für diese Zeile: if value> mathline [mL_ind]
Jede Hilfe sehr geschätzt
wäre
könnte die Fehlermeldung anhängen, dank – heyu91
Hier ist die Fehlermeldung: Indexerror: Listenindex außerhalb des zulässigen Bereichs –
Versuch 'mL_ind = 0 'statt' mL_ind = 1' – heyu91