【Python入門】strptimeを使って日付文字列をdateオブジェクトに変換する方法
Pythonでは、datetimeモジュールのstrptime関数を使うことで、文字列形式の日付データを簡単にdatetimeオブジェクトへ変換できます。この関数には、変換したい日付の文字列と、その日付がどのような書式で記述されているかを示すフォーマット指定子の2つの引数を渡します。
基本的な使い方(サンプルコード)
以下の例では、「2017年12月29日」という日付が「29122017」という文字列として表現されている場合に、それを日付オブジェクトへ変換しています。
import datetime date_str = '29122017' # 日付文字列(2017年12月29日) format_str = '%d%m%Y' # 日付の書式指定 # 文字列をdatetimeオブジェクトに変換 datetime_obj = datetime.datetime.strptime(date_str, format_str) print(datetime_obj.date())
実行結果
このコードを実行すると、次のように出力されます。
2017-12-29
主なフォーマット指定子の一覧
| 指定子 | 意味 |
|---|---|
| %d | 日(01〜31) |
| %m | 月(01〜12) |
| %Y | 西暦4桁(例:2017) |
| %y | 西暦2桁(例:17) |
| %H | 時(00〜23) |
| %M | 分(00〜59) |
| %S | 秒(00〜61) |
ポイント
strptimeは「string parse time」の略で、文字列→日付の変換を行います。逆方向(日付→文字列)の変換にはstrftimeを使用します。- フォーマット指定子が実際の文字列と一致していない場合、
ValueErrorが発生するため注意が必要です。 .date()メソッドを呼び出すことで、時刻情報を除いたdateオブジェクトのみを取得できます。
-
Pythonで文字列から日付を抽出・解析する方法
文字列から日付を抽出するには、まずその文字列内で日付がどのような形式(フォーマット)で表現されているかを把握しておく必要があります。基本的なアプローチとしては、正規表現(reモジュール)で日付部分を取り出し、datetime.datetime.strptime() で解析(パース)するという流れになります。例えば、文字列中に「YYYY-MM-DD」形式の日付が含まれている場合、以下のコードで抽出と解析ができます。コード例import re import datetime s = I have a meeting on 2018-12-10 in New York match = re.sea
-
Pythonで文字列をバイナリ(2進数)に変換する方法をわかりやすく解説
Pythonで文字列をバイナリに変換する基本の考え方Pythonで文字列をバイナリ(2進数)表現に変換するには、文字列内の各文字を1つずつ取り出し、それぞれを2進数へ変換したうえで、結果をひとつの文字列として連結します。各文字の文字コードは ord() 関数で取得でき、format() 関数に「b」フォーマット指定子を渡すことで、簡単に2進数形式へ整形できます。format() と ord() を使った変換方法最もシンプルなのが、format(ord(x), b) を使って各文字 x を2進数の文字列に変換する方法です。次の例では、文字列 hello world の各文字をスペース区切りのバイ