名簿データの名寄せ(同じ人物データが分かれているものを一つにまとめる)を行う場合、一つの列だけ比較すると重複してるのか別の人物なのか分からない場合があります。Perlを使ってこれを効率よく抽出する方法を紹介します。データから重複している行を抽出する方法を紹介します。するために活用する事を想定しています。」と呼びますが、これは実務上時間を取られる作業です。日本語は表記が多岐に渡りますので、「小澤太郎」さんと「小沢太郎」さんはもしかしたら同一人物かもしれませんし、違う人物かもしれません。氏名、住所、メールアドレス、電話番号などの情報があったとしても、どれか一つの項目だけで同一人物と特定できるものではなく、最終的には機械的に候補を表示させたものから、人間の目で判断してデータを統合して行く事が必要になります。現在、携帯電話の番号が一致するとかなりの確かさで「同一人物」と考えられますが、それ以外の場合に判別が難しい例を少し挙げておきます。メールアドレスが一致しているメールアドレスが一致していても「同一人物」とは言い切れない場合があります。会社などでグループアドレスを使っている場合です。知り合いが実は別人である事は稀ですが、同姓同名だからといって単純に同一人物としてデータを統合してしまう訳にも行きません。この場合はメールアドレスや電話番号が一致しているかなどを合わせて判別する必要があります。漢字の違い・苗字の違い最初に挙げた「小澤」と「小沢」など、データとして判別すれば全く違う字にも関わらず、同じ苗字と考えられる表記があります。結婚で姓が変わったり、通常は旧性を使いつつ、支払など公的な処理をする場合は本名を使うなどの使い分けも珍しくありません。この場合も、メールアドレスや電話番号まで比べながら重複かどうかの判別をする必要があります。その他の実務上の困難ここに挙げた以外に、せっかく重要な判別要素となる電話番号について、比較項目が決められないといった問題もあります。あっても、「電話番号」欄に携帯電話番号を記入する事も多いからです。メールアドレスのいずれかが一致(※1)「下の名前が一致」かつ以下のいずれか。「苗字が一致」かつ以下のいずれか。リストの中に同じ会社の取引先担当者など、電話番号が同じ他人が多い場合は、電話番号を判別対象から外した方がいいかもしれません。Hotmail、携帯メールアドレスなどが多い場合は抽出されるデータが多すぎる可能性があります。抽出されてくるデータが多い場合は、この基準は除いた方がいいかもしれません。プログラム上はこの判別の下準備として、下記の前処理をします。始まる電話番号とそれ以外の電話番号を別々の項目に振り分けておく。電話番号と携帯電話番号のハイフンやカッコ等の記号を除く。メールアドレスの@以降だけを別の項目として保存しておく。苗字と下の名前のそれぞれ先頭、末尾の文字を別の項目として保存しておく。CSVファイルのサンプルプログラムのテストに使ったCSVサンプルは以下の通りです。About公式SNS日々の生活や仕事を楽しむための情報を毎日お届けします。