フィールド間の位置が固定された固定サイズの書式設定された文字列を作成したいと考えています。例はよりよく説明します。ここでは明らかに 3 つの異なるフィールドがあり、文字列は固定サイズです。
XXX 123 98.00
YYYYY 3 1.00
ZZ 42 123.34
このような書式設定を Python (2.7) の文字列に適用するにはどうすればよいですか?
フィールド間の位置が固定された固定サイズの書式設定された文字列を作成したいと考えています。例はよりよく説明します。ここでは明らかに 3 つの異なるフィールドがあり、文字列は固定サイズです。
XXX 123 98.00
YYYYY 3 1.00
ZZ 42 123.34
このような書式設定を Python (2.7) の文字列に適用するにはどうすればよいですか?
もちろん、.formatメソッドを使用してください。例えば、
print('{:10s} {:3d} {:7.2f}'.format('xxx', 123, 98))
print('{:10s} {:3d} {:7.2f}'.format('yyyy', 3, 1.0))
print('{:10s} {:3d} {:7.2f}'.format('zz', 42, 123.34))
印刷します
xxx 123 98.00
yyyy 3 1.00
zz 42 123.34
必要に応じてフィールド サイズを調整できます。文字列のフォーマットとは.format
無関係に機能することに注意してください。print
文字列を表示するためにprintを使用しました。簡単な説明:
10s
10個のスペースで文字列をフォーマットし、デフォルトで左揃えにします
3d
3 つのスペースを確保する整数をフォーマットし、デフォルトで右揃えにします
7.2f
float をフォーマットし、7 つのスペースを確保し、小数点の後に 2 つ、デフォルトで右揃えにします。
文字列の配置/書式設定 (パディング、左揃え/右揃えなど) には多くの追加オプションがあります。詳細については、文字列の書式設定操作を参照してください。
f-string モードの更新。例えば、
text, number, other_number = 'xxx', 123, 98
print(f'{text:10} {number:3d} {other_number:7.2f}')
右揃えの場合
print(f'{text:>10} {number:3d} {other_number:7.2f}')