多くの人が必要とするようなのは、ちゃんと用意されてるんだな

以前、Excelに通したために台無しになったCSVを手当てしたことがありました。0埋めされていた文字列が、きれいに0を除去されてしまったっていうような話ですね。

私はこのCSVを手当てするにあたりPythonを使ったのですが、文字列を0埋めするのに次のような関数を書いたのでした。

def touch_len(s, digit=6):
    if not isinstance(digit, int):
        raise TypeError('need int as digit, got %r' % \
                        type(digit))
    while len(s) < digit:
        s = '0' + s
    return s

けど、昨日ぱらぱらと『みんなのPython』のページなどめくっていたら、なんと文字列オブジェクトにはrjust()なんてメソッドがあるのですね。これを使ったら楽々0埋め可能ですよ。あんな関数、自分で用意なんてする必要まるでなかったんだ!

実際に試してみました。

bash-3.2$ python
Python 3.0.1 (r301:69597, Feb 14 2009, 19:03:52) 
[GCC 4.0.1 (Apple Inc. build 5490)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> s = '1'
>>> s.rjust(6)
'     1'
>>> s.rjust(6, '0')
'000001'
>>> quit()
bash-3.2$ 

わお、0埋め超簡単!

やっぱり、リファレンスはきっちり読んでおいた方がいいって話ですね。

みんなのPython 改訂版

みんなのPython 改訂版