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】よくあるエラーの対処方法まとめ
【Python】よくあるエラーの原因と対処方法まとめ:38選
...
「Python 1年生 体験してわかる!会話でまなべる!」
初めての方でも安心して取り組めるように丁寧に解説
簡単なサンプルを作りながら、対話形式でプログラミングまで紹介
人工知能の導入としてもオススメの1冊です!
リンク