pandasのstr属性を利用して、データフレームの列に対する文字列操作をおこなってみます。今回は数値としての郵便番号列のあるExcelファイルを読み込み、下記のように郵便マーク付きの文字列に変換し、新たなExcelファイルを生成してみます。
郵便マーク(〒)付きの文字列に変換
1 2 3 4 5 6 7 8 9 10 |
import pandas as pd df = pd.read_excel('sample.xlsx') df_yuubin = df['郵便番号'].astype(str).str.zfill(7) df_yuubin2 = '〒' + df_yuubin.str[0:3] + '-' + df_yuubin.str[3:7] df['郵便番号'] = df_yuubin2 df.to_excel('postal.xlsx', sheet_name='name', index=False, columns=['郵便番号']) |
5行目
astype()の引数にstrを指定して、数値としての郵便番号を文字列に変換しています。文字列に変換することによってスライス機能を利用することができます(→6行目)。
「.str.zfill(7)」はゼロからはじまる郵便番号に対して実行されます。仮にsample.xlsxの郵便番号列に「0881554」と登録されていた場合、「df[‘郵便番号’].astype(str)」の時点ではまだ881554の文字列なので、「.str.zfill(7)」によって7桁に0埋めし、「0881554」と変換しています。
6行目
str属性に対してスライス(slice)機能を利用し、文字列に変換した郵便番号を分割・整形し直しています。
関連ページ