Pythonでこんなエラーが発生したけど、どんな意味なのか、またどうやって対処したらいいのか、私の場合を例にご紹介したいと思います。
どんな時に発生したか
Excelのセル左上に緑の三角形が入っている(文字列になっている)のを、Pythonで数値に変換しようとしたときに、今回のエラーが発生しました。
その時のコードは次のとおり。
エラーメッセージからわかること
TypeErrorと出ており、処理しようとしている値の型(type)が適切ではないとのこと。
7行目で数値に変換しようとしている部分でエラーが発生している。
メッセージからわかることは、’NoneType’はint()には渡せません(数値に変換できません)と言われています。
None Typeとは「値が存在しない」ということなので、元のExcelを見直したところ、5行目と8行目が空白でした。
エラーを解決した方法
値が入っていないセルがあった場合は、処理をスキップするように修正しました。
7、8行目に修正用のコードを追加。
import openpyxl
wb=openpyxl.load_workbook("価格表.xlsx")
ws=wb.worksheets[0]
for i in range(2,10):
if ws.cell(i,1).value is None:
continue
ws.cell(i,1).value=int(ws.cell(i,1).value)
wb.save("価格表.xlsx")
処理が無事完了しました!
参考になれば幸いです。