PythonでTypeError: argument of type ‘NoneType’ is not iterableというエラーが出た場合の解決策をご紹介します。
エラーの意味と実際の例
特にnot iterableが 「反復処理ができない」などという聞き慣れない言葉ですが、単に「Pythonがプログラムを処理できない」という意味と捉えれば良さそうです。
‘Non Type’つまり「値がないから処理ができない」というメッセージです。
私はExcelを扱った次のようなプログラムでこのエラーが発生しました。
Excelの6列目において「”予約済”という文字列が見つける」というプログラムですが、6列目に値が入っていないとみなされて、エラーになりました。
解決方法は、ws.cell(i,6).valueを文字列に変換することでした。
こうすることで、Excelの6列目が文字列として認識されるためエラーが解消され、”予約済”を検索することができました。(ちゃんと9行目と出力!)
私のケースにはstrに変換が必要でしたが、ここは各ケースによって違ってくるかと思います。
解決の手掛かりになれれば幸いです!