【Python】expected string or bytes-like object:エラー対処方法

Pythonエラー_expected string or bytes-like object_アイキャッチ Python

Pythonのコーディング中に発生した「expected string or bytes-like object」のエラー対処方法をご紹介します。

expected string or bytes-like object エラー発生

Excelシート内のセルの値をprintしようとしたときに、エラーが発生しました。

エラー発生コード

10行目でエラーが発生しました。


import openpyxl

wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet1']

i = 1

for row in ws.iter_rows():
    for cell in row:
        print(ws[i, 1])
        i = i + 1

 

エラー発生時のコマンドプロンプト

 エラーとして表示されている英語の意味を調べてみました。
 セル取得がうまくいっていないようです。

・[expected string] → 期待される文字列
・[bytes-like object] → バイトのようなオブジェクト

 

解決方法

下記のように10行目のコードを修正したところ、エラー解決できました。
× → print(ws[i, 1])
○ → print(ws.cell(i, 1).value)


import openpyxl

wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet1']

i = 1

for row in ws.iter_rows():
    for cell in row:
        print(ws.cell(i, 1).value)
        i = i + 1

 

セルの指定方法が間違っていました・・。

無事プログラムを動かすことができました。

参考になりましたら幸いです。
 

【Python】よくあるエラーの原因と対処方法まとめ:31選
...