Pythonでこんなエラーが発生したけど、どんな意味なのか、またどうやって対処したらいいのか、私の場合を例にご紹介したいと思います。
どんな時に発生したか
![目標の処理](https://totonoubiz.com/wp-content/uploads/2024/03/excel_object.webp)
Excelのセル左上に緑の三角形が入っている(文字列になっている)のを、Pythonで数値に変換しようとしたときに、今回のエラーが発生しました。
その時のコードは次のとおり。
![エラーが発生した時のコード](https://totonoubiz.com/wp-content/uploads/2024/03/error_message_python.webp)
エラーメッセージからわかること
TypeErrorと出ており、処理しようとしている値の型(type)が適切ではないとのこと。
7行目で数値に変換しようとしている部分でエラーが発生している。
メッセージからわかることは、’NoneType’はint()には渡せません(数値に変換できません)と言われています。
None Typeとは「値が存在しない」ということなので、元のExcelを見直したところ、5行目と8行目が空白でした。
![エラーの原因](https://totonoubiz.com/wp-content/uploads/2024/03/python_error_cause.webp)
エラーを解決した方法
値が入っていないセルがあった場合は、処理をスキップするように修正しました。
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")
処理が無事完了しました!
参考になれば幸いです。