Pythonのコーディング中に発生した「argument of type ‘int’ is not iterable」のエラー対処方法をご紹介します。
argument of type ‘int’ is not iterable エラー発生内容
Excelのセルをループしようとしたとき、9行目でエラーが発生しました。
import openpyxl
wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet1']
for row in ws.iter_rows():
for cell in row:
if cell.col_idx == 1:
if '川' in cell.value:
print(cell.value)
エラー発生時のコマンドプロンプト
エラーとして表示されている英語の意味を調べてみました。
「タイプ ‘int’の引数は反復可能ではありません」ってことみたいです。
エラー解決方法
[if cell.col_idx == 1:] で指定した列の int型 から、
str型 の ”川” を見つけようとしてエラーが発生しているようです。
以下のコーディングに修正したところ、解決できました。
もともとB列で ”川” を含む値をチェックしたかったので、
チェック対象の列を「1」→「2」に修正しました。
8行目のコードを修正しました。
if cell.col_idx == 1:
↓
if cell.col_idx == 2:
import openpyxl
wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet1']
for row in ws.iter_rows():
for cell in row:
if cell.col_idx == 2:
if '川' in cell.value:
print(cell.value)
型が異なる値は照合できないのですね。気をつけなきゃ。。
無事プログラムを動かすことができました。
この記事がお役に立ちますと幸いです。
・【Python】よくあるエラーの対処方法まとめ
【Python】よくあるエラーの原因と対処方法まとめ:38選
...
「Python 1年生 体験してわかる!会話でまなべる!」
初めての方でも安心して取り組めるように丁寧に解説
簡単なサンプルを作りながら、対話形式でプログラミングまで紹介
人工知能の導入としてもオススメの1冊です!
リンク