数字の表記を、1234ではなく、001234のように特定の数字などで埋めたい場合があると思います。この記事では、MATLABとpythonにおけるコードについて自分用のメモとして残したいと思います。例えば、
- 123, 18, 1931...のように桁数の違う数字を含むファイル名において、00123.jpg, 00018.jpg, 01931.jpgのようにすると統一性が出る
- file1.txt, file2.txt, file10.txtを並び替えると、file1.txt, file10.txt, file2.txtという順番になる場合がある。ファイル名からゼロで埋めると数字の大きさ(小ささ)の順に並び変えられる。
といった場合に有効であると考えられます。
MATLABの場合
sprintf('%07d', 1234)
とすれば、0001234という値(char)が返されます。
並び替えをうまく行いたい場合は、sort_nat
を使うこともできます。
pythonの場合
v = '1234' v.zfill(7)
のように、zfill
を用いるとよいです。vは文字列であることに注意する必要があります。他にも複数方法が存在するようです。以下のページが参考になりました。
今回のメモの原稿や他の記事のコードやデータはこちらにアップロードしています。