2017-06-17 108 views
0

我有一個數據集有12列,這裏是來自數據集的一些示例數據。爲什麼我得到'列表索引超出範圍錯誤'

[['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'],... 

我使用的12列然而,當我把這個代碼創建一個表,它給了我索引超出範圍

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>" 

爲什麼會這樣呢?

+6

因爲你的列表項目只有2種元素 - 這些都是逗號seaparated字符串,而不是列出項目 –

+0

也而不是做手工的加入,爲什麼不'「

​​‘+’​​」。加入( bike_list)' –

回答

2

因爲列表在Python中是0索引的。

但是,這不是迭代通過列表的方式。爲此我們有for循環。

另請注意,您可以使用*運算符一次傳遞整個子列表。

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) 
相關問題