エラー解決:AttributeError: ‘str’ object has no attribute ‘strftime’

AttributeError: ‘str’ object has no attribute ‘strftime’というエラー解決について、私のケースをご紹介します。

どんな時に起こった?

ExcelのA4セルの値(2024/1/22)をB1セルに、strftimeを使って(2024/01/22)の表示形式で代入しようとしたとき、今回のエラーが発生。

その時のコードがこちら。

エラーメッセージからわかること

7行目のws.cell(1,2).value.strftime…の部分が問題だと色付きで指摘されている。

エラーメッセージより、「ws.cell(1,2).valueがstr(文字列)です。strftimeは使用することができません。」

エラーの原因を調べて解決する

ws.cell(1,2).valueの値の型をtype()を使って調べてみると、エラーで指摘されたようにstrだった。

この値を、number_formatプロパティで年月日に変換、B1セルに代入したところ、エラーが解消されて希望通りに出力されました。

修正したコードはこちらです。

import openpyxl
from datetime import datetime

wb=openpyxl.load_workbook("日程.xlsx")
ws=wb.worksheets[0]

ws.cell(1,2).value=ws.cell(4,1).value
ws.cell(1,2).number_format="yyyy/mm/dd"
wb.save("日程1.xlsx")

number_formatを使用しても、datetime型には変換されません。以前の記事内容に誤りがあったため訂正いたします。

ABOUT US
中野友梨
旅行業の会社を運営。
慶応義塾大学卒

書類作成、確認作業などに追われる日々の仕事。
一生懸命やっているつもりだった。
計算ミス、手配ミスにヒヤヒヤする日々。
仕事の効率をなんとかしなけらばいけないと思っていたけど、 どうしたらよいのか分からなかった。
Pythonの世界なんて、全く知らなかった。
そんな私がPythonで仕事が効率化されることによって、公私ともに大きく 変わるとは、夢にも思っていなかった..。

業務効率化のためにPythonを始めたことがきっかけで、Pythonにはまりました。(個人利用レベル)
詳細はこちら

労働時間が大きく削減され、仕事が大カイゼンされて自由な時間も生まれました。
私のした素晴らしい経験を共有したい、仕事の効率が悪いけど、どうにかしたいという悩みを持った人々に向けて、 Pythonがいいよ、と教えてあげたい。
このブログでは、私が経験したエラー解決や迷い所、Pythonの活用方法をお伝えします。