stmtkブログ

Python中心の技術ブログです。

【Python】日付の表記ゆれを統一する

機能

日付の表記ゆれを統一するPythonプログラムです。

テキストに含まれる日付をYYYY/MM/DD形式に統一します。

変換対象:YYYY/M/D, YYYY/MM/DD, YYYY-M-D, YYYY-MM-DD, YYYY年M月D日, YYYY年MM月DD日

日付は2021/1/1です。
日付は2021/02/02です。
日付は2021-1-1です。
日付は2021-02-02です。
日付は2021年1月1日です。
日付は2021年02月02日です。
日付は2021/01/01です。
日付は2021/02/02です。
日付は2021/01/01です。
日付は2021/02/02です。
日付は2021/01/01です。
日付は2021/02/02です。

サンプル動画

youtu.be

プログラム

#! Python3
# 機能
#  日付の表記ゆれを統一する
#  変換対象:YYYY/M/D, YYYY/MM/DD, YYYY-M-D, YYYY-MM-DD, YYYY年M月D日, YYYY年MM月DD日
#  変換後:YYYY/MM/DD
# 使い方
#  1.テキストをコピーする
#  2.Pythonを実行する
#  3.実行結果がコピーされる
# 実行コマンド
#  python date_formatter.py

import re
import pyperclip

# テキストを取得する
text = pyperclip.paste()

# スラッシュ区切りに変換する
regex = re.compile(r"((19|20)\d\d)[-/年]((0|1)?\d)[-/月]((0|1|2|3)?\d)日?")
output = regex.sub(r"\1/\3/\5", text)

# ゼロ埋めする
regex = re.compile(r"((19|20)\d\d)/(\d)/(\d)")
output = regex.sub(r"\1/0\3/0\4", output)

# テキストをコピーする
pyperclip.copy(output)

使い方

  1. テキストをコピーする
  2. Pythonを実行する
  3. 実行結果がコピーされる

コマンド

インストールコマンド

pyperclipをインストールしていない場合は以下のコマンドを実行して下さい。

pip install pyperclip

実行コマンド

python date_formatter.py

実行環境

プログラム実行時の環境は以下になります。

開発環境については以下を参考にして下さい。

stmtk358.hatenablog.com

プログラムのバッチ化については以下を参考にして下さい。

stmtk358.hatenablog.com

exeファイル

Python環境がなくても実行可能なexeファイルもあります。

とりあえず試してみたい方は以下からダウンロードして下さい。

github.com

実行方法

exeファイルを実行(ダブルクリック)するだけです。

コマンドラインから実行する場合は以下のコマンドを実行して下さい。

date_formatter.exe

GitHub

今回使用したプログラムやテストデータはGitHubにアップロードしています。

github.com

参考文献

www.oreilly.co.jp