【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】よくあるエラーの対処方法まとめ
 

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

 

「Python 1年生 体験してわかる!会話でまなべる!」

初めての方でも安心して取り組めるように丁寧に解説
簡単なサンプルを作りながら、対話形式でプログラミングまで紹介
人工知能の導入としてもオススメの1冊です!