【Python】文字列を0埋め(0パディング)する方法を解説

この記事では、Python初心者でもわかりやすく、0埋めの基本から応用までを解説します。

具体的なメソッドの使い方や実際のコード例を通じて、0埋めのテクニックをマスターしましょう。

これを読めば、データの見た目を整えたり、特定のフォーマットにデータを揃えたりするのが簡単になります。

目次から探す

Pythonでの0埋め方法

Pythonでは、文字列を0埋め(0パディング)するための方法がいくつかあります。

ここでは、代表的な4つの方法について解説します。

zfillメソッドを使う

zfillメソッドの基本的な使い方

zfillメソッドは、文字列の左側に0を追加して、指定した長さにするためのメソッドです。

数値を文字列として扱う場合に便利です。

number = "42"
padded_number = number.zfill(5)
print(padded_number)  # 出力: 00042

zfillメソッドの具体例

例えば、ユーザーIDを5桁に揃えたい場合、以下のようにzfillメソッドを使います。

user_id = "123"
padded_user_id = user_id.zfill(5)
print(padded_user_id)  # 出力: 00123

このように、zfillメソッドを使うことで簡単に0埋めができます。

str.formatメソッドを使う

str.formatメソッドの基本的な使い方

str.formatメソッドは、文字列のフォーマットを指定するためのメソッドです。

{}の中にフォーマット指定子を入れることで、0埋めを行うことができます。

number = 42
formatted_number = "{:05}".format(number)
print(formatted_number)  # 出力: 00042

str.formatメソッドの具体例

例えば、商品コードを8桁に揃えたい場合、以下のようにstr.formatメソッドを使います。

product_code = 12345
formatted_product_code = "{:08}".format(product_code)
print(formatted_product_code)  # 出力: 00012345

このように、str.formatメソッドを使うことで柔軟に0埋めができます。

f文字列(フォーマット文字列)を使う

f文字列の基本的な使い方

f文字列(フォーマット文字列)は、Python 3.6以降で使用できる新しい文字列フォーマット方法です。

fの後に{}を使って変数を埋め込むことができます。

number = 42
formatted_number = f"{number:05}"
print(formatted_number)  # 出力: 00042

f文字列の具体例

例えば、注文番号を6桁に揃えたい場合、以下のようにf文字列を使います。

order_number = 789
formatted_order_number = f"{order_number:06}"
print(formatted_order_number)  # 出力: 000789

このように、f文字列を使うことで直感的に0埋めができます。

rjustメソッドを使う

rjustメソッドの基本的な使い方

rjustメソッドは、文字列を右揃えにして、指定した長さにするためのメソッドです。

第2引数に'0'を指定することで0埋めができます。

number = "42"
padded_number = number.rjust(5, '0')
print(padded_number)  # 出力: 00042

rjustメソッドの具体例

例えば、シリアル番号を10桁に揃えたい場合、以下のようにrjustメソッドを使います。

serial_number = "123456"
padded_serial_number = serial_number.rjust(10, '0')
print(padded_serial_number)  # 出力: 0000123456

このように、rjustメソッドを使うことで簡単に0埋めができます。

以上、Pythonで文字列を0埋めするための4つの方法について解説しました。

それぞれの方法には特徴があり、用途に応じて使い分けることが重要です。

0埋めの応用例

0埋め(0パディング)は、特定のフォーマットにデータを整形する際に非常に便利です。

ここでは、数値、日付や時間、ファイル名やIDなど、具体的な応用例を見ていきましょう。

数値の0埋め

数値を0埋めすることで、桁数を揃えることができます。

これにより、データの見た目が整い、比較や表示がしやすくなります。

整数の0埋め

整数を0埋めする場合、zfillメソッドやフォーマット文字列を使うことが一般的です。

# zfillメソッドを使う
num = 42
padded_num = str(num).zfill(5)
print(padded_num)  # 出力: 00042
# フォーマット文字列を使う
padded_num = f"{num:05}"
print(padded_num)  # 出力: 00042

浮動小数点数の0埋め

浮動小数点数の場合も、フォーマット文字列を使って0埋めすることができます。

# 浮動小数点数の0埋め
num = 3.14
padded_num = f"{num:08.2f}"
print(padded_num)  # 出力: 00003.14

日付や時間の0埋め

日付や時間を0埋めすることで、フォーマットが統一され、見やすくなります。

日付の0埋め

日付を0埋めする場合、datetimeモジュールを使うと便利です。

from datetime import datetime
# 現在の日付を取得
now = datetime.now()
# 日付を0埋めして表示
formatted_date = now.strftime("%Y-%m-%d")
print(formatted_date)  # 出力例: 2023-10-05

時間の0埋め

時間も同様に、datetimeモジュールを使って0埋めすることができます。

from datetime import datetime
# 現在の時間を取得
now = datetime.now()
# 時間を0埋めして表示
formatted_time = now.strftime("%H:%M:%S")
print(formatted_time)  # 出力例: 14:05:09

ファイル名やIDの0埋め

ファイル名やIDを0埋めすることで、ソートや検索がしやすくなります。

ファイル名の0埋め

ファイル名に連番を付ける際に0埋めを使うと、ファイルが整然と並びます。

# ファイル名の0埋め
for i in range(1, 11):
    filename = f"file_{str(i).zfill(3)}.txt"
    print(filename)
# 出力例:
# file_001.txt
# file_002.txt
# ...
# file_010.txt

IDの0埋め

IDを0埋めすることで、データベースやファイルシステムでの管理が容易になります。

# IDの0埋め
id_num = 7
padded_id = f"ID_{str(id_num).zfill(4)}"
print(padded_id)  # 出力: ID_0007

以上のように、0埋めはさまざまな場面で役立ちます。

Pythonでは簡単に0埋めを実現できるので、ぜひ活用してみてください。

目次から探す