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選
...