Skip to content

[已解決][Python] "_csv.reader" object is not subscriptable

Last Updated on 2022-04-11 by Clay

問題描述

今天在我確認前輩遺留下的程式碼時,發現了一個奇怪的問題。我想,那是前輩廢棄沒有在使用、剛好沒刪除掉的程式碼。

看起來是 Python 在使用內置的 csv 模組讀取資料,但是卻在下方查看資料格式時發生:

"_csv.reader" object is not subscriptable


為了能讓程式碼正常運作,以便繼續往下閱讀前輩的程式碼,我查詢了這個問題的排除方式,並記錄如下。

如果我沒記錯,我幾年前曾經遇到過一次這個問題。為了幾年後不要被這個問題卡住,還是老老實實地把這個問題紀錄起來吧。


解決方法

根據錯誤訊息所示,該 _csv.reader 其實是不支援使用索引取值的方式,它返回的是一個迭代器(iterator)

所以當我們使用像是:

print(csv_data[0])


這樣的方式來取值,則會出現文章開頭所示的報錯。我們需要使用 for 迴圈逐行讀取資料;如果真的需要透過索引取得資料,可以考慮將迭代器化成 list 結構。

list(csv_data)

References


Read More

Tags:

Leave a Reply