【Python】argument of type ‘int’ is not iterable:エラー対処方法

Pythonエラー_argument of type ‘int’ is not iterable_アイキャッチ Python

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】よくあるエラーの原因と対処方法まとめ:32選
...