2017-06-17 6 views
0

Ich habe einen Datensatz, der hier 12 Spalten hat, ist einige Beispieldaten aus dem Datensatz.Warum bin ich ‚out of range Fehlerliste Index‘ eine immer

[['1,1412,,Correy', 
    'Edmed,00:06:53,35-39,1,Male,1,WOOLLOONGABBA,00:06:54,07:15:33,07:22:27'], 
['1000,3060,,Nathan', 
    'Hankinson,00:17:33,30-34,57,Male,879,COORPAROO,00:17:34,07:58:27,08:16:01'], 
['1000,4297,,Jason', 
    'Taylor,00:17:33,40-44,107,Male,879,GEEBUNG,00:17:34,07:42:08,07:59:41'], 
['1002,4014,,Thomas', 
    'Collins,00:17:34,14-19,20,Male,881,JINDALEE,00:17:35,08:00:04,08:17:39'], 
['1003,4146,,Avis', 
    'Houlihan,00:17:35,60-69,8,Female,117,CARINDALE,00:17:36,08:00:34,08:18:09'], 
['1003,4426,,Greg', 
    'Burt,00:17:35,60-69,87,Male,882,BRISBANE,00:17:36,07:57:42,08:15:17'], 
['1005,1352,,Amanda', 
    'Wilson,00:17:38,45-49,25,Female,118,CASINO,00:17:39,07:37:43,07:55:21'],... 

Ich verwende jedoch 12 Spalten, wenn ich diesen Code setzen in eine Tabelle erstellen sie mich aus dem Bereich Index gibt

html_content = "<html><body><table><tr><td>" + bike_list[0][0] + "</td><td>" + bike_list[0][1] + "</td><td>" + bike_list[0][2] + "</td><td>" + bike_list[0][3] + "</td><td>" + bike_list[0][1] + "</td><td>" + bike_list[0][4] + "</td><td>" + bike_list[0][5] + "</td><td>" + bike_list[0][6] + "</td><td>" + bike_list[0][7] + "</td><td>" + bike_list[0][8] + "</td><td>" + bike_list[0][1] + "</td><td>" + bike_list[0][9] + "</td><td>" + bike_list[0][10] + "</td><td>" + bike_list[0][11] + "</td></tr>" 
i=1 
while i < len(bike_list): 
    html_content += "<tr><td>{}</td><td>{}</td><td>{}</td><td>{}</td><td>{}</td><td>{}</td><td>{}</td><td>{}</td><td>{}</td><td>{}</td><td>{}</td><td>{}</td></tr>".format(bike_list[i][0],bike_list[i][1],bike_list[i][2],bike_list[i][3],bike_list[i][4],bike_list[i][5],bike_list[i][6],bike_list[i][7],bike_list[i][8],bike_list[i][9],bike_list[i][10],bike_list[i][11]) 
    i+=1 
html_content += "</table></body></html>" 

Warum das so ist?

+6

weil Listenelemente nur zwei Elemente haben - das sind Komma seaparated Strings, die Liste nicht –

+0

Artikel auch anstelle der manuell zu tun kommen, warum nicht '„

‚+‘“.join (bike_list) ' –

Antwort

2

Da Listen in Python 0-indiziert.

Aber das ist nicht die Art und Weise durch eine Liste zu durchlaufen. Dafür haben wir for Schleifen.

Beachten Sie auch, können Sie den gesamten sublist auf einmal passieren, indem Sie den * Operator.

for elem in bike_list: 
    html_content += "<tr><td>{}</td><td>{}</td><td>{}</td><td>{}</td><td>{}</td><td>{}</td><td>{}</td><td>{}</td><td>{}</td><td>{}</td><td>{}</td><td>{}</td></tr>".format(*Elem) 
Verwandte Themen