データクリーニングとは、データセットを利用する前にエラーを見つけ、修正する作業です。Leadリストなら、日付の修正、余分なスペースの削除、氏名の分割、重複した連絡先の統合などが該当します。このガイドでは、Datablistでこれらの作業を行い、リストをエクスポートまたはEnrichする前に結果を確認する方法をご紹介します。

まずは、メールアドレスや企業ドメインなど、レコードを識別する列から着手しましょう。表記を整えて重複を確認し、その後、必要な値を変換または抽出します。書式設定のルールによって正しいデータまで変更されないよう、各操作の後に数行をサンプル確認してください。

この記事でご紹介する主なデータクリーニング操作は次のとおりです。

CSVのインポートまたはデータの貼り付け

Datablistは、データクリーニングに最適なツールです。クリーニング、一括編集、Enrich機能を備えたオンラインCSVエディターとしてご利用いただけます。 さらに、1つのコレクションで数百万件のアイテムを処理できます。

複数言語が混在するテキストフィールドでは、フィルタリング、振り分け、翻訳を行う前に、各行の言語を判定してラベルを付けることも可能です。

Datablistを開き、データソースのコレクションを読み込みます。

新しいコレクションを作成するには、サイドバーの+ボタンをクリックします。次に「Import CSV/Excel」をクリックしてファイルを読み込んでください。スタートページのショートカットをクリックすれば、ファイルのインポート画面へ直接移動できます。

コレクションを作成
コレクションを作成

データ形式を自動検出

Datablistのインポートアシスタントは、メールアドレス、ISO 8601形式の日時、真偽値、数値、URLなどを、正しくフォーマットされていれば自動的に検出します。

データ型の自動検出
データ型の自動検出

形式が異なる日時や、URL・メールアドレスの入力ミスなど、より複雑な解析が必要なデータは、Textプロパティとしてインポートしてください。次のセクションでは、TextプロパティをDatetime、Boolean、Numberへ変換する方法をご説明します。

データ型を選択
データ型を選択

テキストを日時・真偽値・数値に変換

近藤麻理恵さんは「片づけを終えたとき、本当の人生が始まる」と語っています。データも同じです。「データを整えたとき、本当のSalesが始まる」と言えるでしょう。😅

日付(作成日、資金調達日など)、数値(価格、従業員数)、真偽値は、単なるテキストではなく適切なデータ型にしておくことで、格段に絞り込みやすくなります。

「Clean」メニューから「Text to Datetime, Number, Checkbox」ツールを開きます。

テキストを各データ型に変換
テキストを各データ型に変換

テキストをDatetime形式に変換

Datetimeには、構造が定められたISO 8601という国際標準形式があります。データがISO 8601形式であれば、インポート時にDatetimeプロパティが自動作成され、データが保存されます。

ほかの形式の日付や日時については、Datablistで構造化されたDatetime値へ変換できるよう、使用されている形式を指定する必要があります。

変換するプロパティを選び、「Convert to Datetime」を選択します。

テキストをDatetimeに変換
テキストをDatetimeに変換

一般的な形式(Google SheetsやExcelで使われる日時形式)が一覧表示されます。独自の日時形式を指定する場合は、「Custom format」を選択してください。

独自のDatetime形式
独自のDatetime形式
Datetime変換のプレビュー
Datetime変換のプレビュー

1つのプロパティに複数形式の日付や日時が含まれている場合は、「Datetime Conversion Format」で「Custom or multiple formats」を選択します。続いて、1行につき1つの形式を入力してください。 Datablistは先頭行から順に各形式を試し、有効な日付が得られるまで処理します。

👉 独自の日時形式について詳しくは、ドキュメントをご覧ください。

テキスト値からCheckbox(Boolean)を作成

Datablistは、インポート時に「Yes, No」や「TRUE, FALSE」などを含む列を自動的にCheckboxプロパティへ変換します。より複雑な変換には、コンバーターをご利用ください。

チェック済みへ変換する値をカンマ区切りで指定します。それ以外の値は未チェックのまま保持されます。

Checkboxへの変換
Checkboxへの変換
Checkbox変換のプレビュー
Checkbox変換のプレビュー

テキストから数値を抽出

「Text to number」コンバーターでは、次の操作を行えます。

  • 小数点や桁区切り文字を指定して数値を正規化
  • 文字を含むテキストから数値を抽出
テキストを数値に変換
テキストを数値に変換
数値変換のプレビュー
数値変換のプレビュー

👉 数値変換について詳しくは、ドキュメントをご覧ください。

データをクリーニング

HTMLをテキストに変換

スクレイピングツールはHTMLコードを解析するため、取得したテキストにHTMLタグが残る場合があります。

HTMLコードにはリンク、画像、箇条書きのリストが含まれ、段落や複数行で構成されています。

ここでの目的は、HTMLが持つ構造をある程度保ちながら、読みにくいコードをプレーンテキストへ変換することです。

DatablistのHTML to Textコンバーターは改行を維持し、箇条書きを-で始まるリストへ変換します。

HTMLタグを含むテキストをプレーンテキストに変換するには、「Edit」メニューからBulk Editツールを開きます。

Bulk Editツール
Bulk Editツール

HTMLタグを含むプロパティを選択し、「Convert HTML into plain text」を選びます。

Bulk EditでHTMLを変換
Bulk EditでHTMLを変換
HTMLからテキストへの変換
HTMLからテキストへの変換
HTMLからテキストへの変換結果
HTMLからテキストへの変換結果

余分なスペースを削除

乱れたデータでよくあるもう1つの問題が、余分なスペースです。改行、Tab、HTMLでスペースとして扱われる各種文字が原因になります。

Datablistには、余分なスペースを取り除くクリーニングツールが用意されています。

次の2つのモードをご利用いただけます。

  • モード1:すべてのスペースを削除 — あらゆる空白文字を削除します。電話番号や価格など、文字や数字だけを残したいデータのクリーニングに適しています。
  • モード2:「余分なスペース」のみを削除

2つ目のモードでは、次のように処理されます。

  • 単語間の余分なスペースを削除
  • 空行を削除
  • 各行の先頭と末尾にあるスペースを削除

余分なスペースを削除するには、「Edit」メニューから「Bulk Edit」ツールを開きます。プロパティを選択し、「Remove extra spaces」アクションを指定してください。

すべての空白文字を削除する場合は、「Remove all spaces」にチェックを入れます。「余分なスペース」だけを削除する場合は、チェックを外したままにしてください。

余分なスペースの削除設定
余分なスペースの削除設定

余分なスペースを削除する前の例です。

余分なスペースを削除
余分なスペースを削除

クリーニング後は、余分なスペースが取り除かれています。

余分なスペースの削除結果
余分なスペースの削除結果

英字の大文字・小文字を整える

テキストの大文字・小文字は簡単に変更できます。「Edit」メニューから「Bulk Edit」ツールを開いてください。

処理するプロパティを選択し、「Change text case」アクションを使用します。

大文字・小文字を変更
大文字・小文字を変更

次のモードを利用できます。

  • Uppercase — すべての文字を大文字に変換します。例:john => JOHN
  • Lowercase — すべての文字を小文字に変換します。例:API => api
  • Capitalize — すべての単語の先頭文字を大文字にします。例:john is a good man => John Is A Good Man
  • Capitalize only the first word — 最初の単語の先頭文字だけを大文字にします。例:john is a good man => John is a good man

テキストから記号を削除

HTMLページからスクレイピングしたテキストや、ユーザー入力のデータ(LinkedInプロフィールの肩書きなど)には、顔文字をはじめとする記号が含まれることがあります。こうした記号はデータ処理に影響します。氏名の末尾に顔文字が1つ付いているだけでも、重複排除アルゴリズムで検出できない可能性があります。

Datablistには、データからテキスト以外の記号を削除するプロセッサーが組み込まれています。

「Edit」メニューから「Bulk Edit」をクリックしてTextプロパティを選び、「Remove symbols」変換を指定します。

記号を削除
記号を削除

プレビューに問題がなければ、変換を実行してアイテムを処理します。

記号の削除結果
記号の削除結果

検索と置換でデータを正規化

見込み顧客リストからセグメントを作成するには、データの正規化が欠かせません。

  • 役職名を正規化
  • 国名や都市名を正規化
  • URLを正規化
  • その他

目的は、自由入力のプロパティを限られた選択肢にまとめること、またはテキストをより基本的な形式へ変換することです。たとえば、パスを含むURLからシンプルなドメインだけを残します。

Datablistには高機能なFind and Replaceツールがあり、通常のテキストにも正規表現にも対応しています。

正規表現は複雑ですが、非常に強力です。

ここでは、RegExを使ってデータをクリーニングする例をご紹介します。

URLからクエリパラメーターを削除

スクレイピングしたURLには、トラッキングやマーケティング目的の不要なクエリパラメーターが含まれていることがあります。これらを削除すればURLが整い、そのURLを使って重複レコードを検出しやすくなります。

URLからクエリパラメーターを削除するには、「Match using regular expression」にチェックを入れます。置換テキストは空欄にし、次の正規表現を使用してください。

\?.*$
正規表現でクエリパラメーターを削除
正規表現でクエリパラメーターを削除

この設定をURLプロパティに適用します。

クエリパラメーターを除いたプレビュー
クエリパラメーターを除いたプレビュー

メールアドレスからドメインを取得

Find and Replaceと正規表現を組み合わせれば、メールアドレスからWebサイトのドメインを取得することもできます。

元データを保持するため、メールアドレスのプロパティを複製します。次の正規表現を使用し、置換テキストは空欄にしてください。

^(\w)*@
正規表現でメールアドレスからドメインを取得
正規表現でメールアドレスからドメインを取得
メールアドレスから取得したドメインのプレビュー
メールアドレスから取得したドメインのプレビュー

👉 詳しくは、Find and Replaceのドキュメントをご覧ください。

氏名を名と姓に分割

Leadリストをスクレイピングすると、「Full Name」で保存された連絡先を「First Name」と「Last Name」に分割する必要があります。氏名を構成要素へ正確に分けることは、重要な作業です。

名と姓を分けておけば、Cold Emailingのキャンペーンで相手に合わせた呼びかけができるほか、連絡先の性別や学位・敬称を調べる際にも役立ちます。

氏名の分割は複雑になることがあります。Datablistなら、スペースを区切り文字として「Name」を2つの値へ簡単に分割できます。

まず、「Edit」メニューから「Split Property」ツールを開きます。

Split Propertyツール
Split Propertyツール

次に、分割する氏名が入ったプロパティを選択します。区切り文字にはSpaceを選び、最大分割数を2に設定してください。

Split Propertyを設定
Split Propertyを設定

プレビューを実行します。Datablistが先頭10件を解析し、結果を表示します。問題がなければ「Split Property」をクリックし、現在のすべてのアイテムにアルゴリズムを適用してください。

プレビューを実行
プレビューを実行

分割アルゴリズムの実行後、新しく作成された2つのプロパティを「First Name」と「Last Name」に変更します。

First NameとLast Nameへの分割結果
First NameとLast Nameへの分割結果

この例では、通常は名と姓で構成される欧米式の氏名を扱っています。名や姓が複数ある場合を含め、欧米式以外の氏名では処理が複雑になることがあります。敬称や接尾辞が付いている場合も同様です。

データの重複を削除

Datablistには、重複レコードを排除する強力なアルゴリズムがあります。1つまたは複数のプロパティを使って類似アイテムを検出し、データを失わずに自動統合できます。

重複排除アルゴリズムを実行するには、「Clean」メニューの「Duplicate Finder」をクリックします。

Duplicate Finderを実行
Duplicate Finderを実行

照合に使用するプロパティを選択します。

結果ページでは、「Merge non-conflicting duplicates」だけを有効にして「Auto Merge」を一度実行します。問題なく統合できる重複アイテムがまとめられ、値が競合しているプロパティが一覧表示されます。

重複排除アルゴリズムでは、競合するデータを処理する方法が2つあります。区切り文字を使って「Combine conflicting properties」を実行するか、競合する値を破棄してマスターアイテムを1件だけ残すかを選択できます。

自動統合
自動統合

👉 CSVファイルの重複を統合する方法はこちらをご覧ください。 また、会社名を使って重複を検出・統合するガイドもご用意しています。

テキストからメールアドレスやURLなどを抽出

Datablist Data Extractorは、非構造化テキストを解析してエンティティを抽出するツールです。

パターン認識により、次のデータを検出します。

  • テキスト内のメールアドレス
  • テキスト内のURL
  • URLのドメイン
  • メールアドレスのドメイン
  • テキスト内のメンション(例:@name)
  • テキスト内のタグ(例:#tag)

Data Extractorは、データ分析やデータの構造化に最適です。メールアドレスやURLなどを正しい形式に整えることで、ほかのツールと連携し、自動化フローを構築できます。

たとえば、メールアドレスを取得できれば、Enrichによって連絡先情報を見つけられます。また、URLから取得したドメインを使い、Alexaなどでトラフィックランキングを調べることもできます。

Datablist Data Extractorは、「Edit Menu -> Extract url, email, tag, etc.」から利用できます。

Data Extractor
Data Extractor

非構造化テキストが入ったプロパティを選び、パーサーを指定します。

Data Extractorのパーサー
Data Extractorのパーサー

パーサーを実行してプレビューを確認します。結果に問題がなければ、「Extract」をクリックしてアイテムを処理してください。

Data Extractorのプレビュー
Data Extractorのプレビュー

正規表現でデータを絞り込み・検証

Datablistでは、正規表現を使ってデータを絞り込めます。

単語数でテキストを絞り込む

次の正規表現を使うと、{n}語以上のテキストを抽出できます。

(?:\w+(?:\s|$)){5,}(5を任意の数値に置き換えてください)

このRegExには、次のようなバリエーションもあります。

  • (?:\w+(?:\s|$)){,5}:5語以下のテキスト(5語のテキストを含む)
  • (?:\w+(?:\s|$)){5,10}:5〜10語のテキスト
5語以上のテキストを絞り込み
5語以上のテキストを絞り込み
5語以上で絞り込んだ結果
5語以上で絞り込んだ結果

無効なURLを絞り込む

次のRegExは、無効なURLに一致します。

^(?!(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+).*$

無効なURLを絞り込み
無効なURLを絞り込み
無効なURLの絞り込み結果
無効なURLの絞り込み結果

無効なメールアドレスを絞り込む

次のRegExは、無効なメールアドレスに一致します。

^(?!([a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})).*$

無効なメールアドレスを絞り込み
無効なメールアドレスを絞り込み
無効なメールアドレスの絞り込み結果
無効なメールアドレスの絞り込み結果

JavaScriptで独自のデータ変換を作成

Datablistでは、データに対して独自のJavaScriptコードを実行できます。カスタムコードを記述することで、固有のデータ課題や特殊なデータ形式に対応し、複雑な計算や高度なデータ変換を実行できます。

この強力な機能を使えば、データの加工や変換に、ご自身のアイデアと専門知識を活用できます。 カスタムロジック、ループ、データ条件、幅広いJavaScript関数を柔軟に利用でき、非常に複雑なデータクリーニングにも対応可能です。

「Edit」メニューの「Run JavaScript」をクリックして、JavaScriptエディターを開きます。

JavaScriptコードによるデータクリーニング
JavaScriptコードによるデータクリーニング

👉 JavaScriptコードの記述方法について詳しくは、ドキュメントをご覧ください。

メールアドレスを検証

スクレイピングで取得したデータは、古かったり、入力ミスがあったり、無効だったりする場合があります。 特に、スクレイピングで取得したメールアドレスでは注意が必要です。

ユーザーが入力したデータには、偽のメールアドレスや使い捨てメールサービスのアドレスが含まれることもあります。

Datablistには、数千件のメールアドレスを検証できるツールが組み込まれています。

「Enrich」をクリック
「Enrich」をクリック

メール検証サービスでは、次の項目を確認できます。

  • メール構文の解析 — 最初に、メールアドレスがIETF標準に準拠しているかを確認し、構文を詳しく解析します。アットマーク(@)がないアドレスや、無効なドメインを含むアドレスなどが検出されます。
  • 使い捨てメールサービスの確認 — 次に、一時的なメールアドレスかどうかを確認します。Mailinator、Temp-Mail、YopMailなど、Disposable Email Address(DEA)サービスに属するドメインを検出します。
  • ドメインのMXレコード確認 — 有効なメールアドレスには、MXレコードが設定されたドメイン名が必要です。MXレコードは、そのドメイン宛てのメールを受信するメールサーバーを指定します。MXレコードがなければ、無効なメールアドレスと判断できます。 各メールアドレスのドメインについてDNSレコードを確認し、MXレコードを探します。ドメインが存在しない場合、メールアドレスは無効と判定されます。ドメインが存在しても有効なMXレコードがなければ、同様に無効と判定されます。
  • ビジネス用・個人用メールアドレスの分類 — Lead Magnetから獲得した見込み顧客やユーザー層をセグメント化する際、連絡先をビジネス用メールと個人用メールに分けたいことがあります。メール検証サービスでは、この情報を取得して連絡先データをEnrichできます。
メール検証の結果
メール検証の結果

👉 メールリストをクリーニングする方法は、こちらのガイドをご覧ください。

FAQ

データクリーニングとは?なぜ重要なのですか?

データクリーニングは、データクレンジングやデータスクラビングとも呼ばれ、データセットに含まれるエラー、矛盾、不正確な情報を特定し、修正または削除するプロセスです。欠損値、重複レコード、書式エラー、外れ値、データ表現の不統一などを検出し、適切に修正します。

データクリーニングは、データの正確性と信頼性を確保し、分析や各種アプリケーションで利用できる状態にするための重要な工程です。

無料で使えるほかのデータクリーニングツールは?

データクリーニングツールには、汎用的な表計算ソフトから専門アプリケーションまで、さまざまな選択肢があります。ここでは、Datablist以外でデータクリーニングに利用できる、おすすめの無料ツールをご紹介します。

OpenRefine

OpenRefine(旧称Google Refine)は、乱れたデータや表記が統一されていないデータの調査、クリーニング、変換に特化したオープンソースツールです。

OpenRefineはスタンドアロンのデスクトップアプリケーションで、表形式ファイル(CSV、TSV)、Microsoft Excelファイル、JSONやXMLなどの構造化ファイルに対応しています。

OpenRefineは、不正なCSVファイルの処理に特に役立ちます。

  • CSVの文字コードに関する問題を適切に処理できる
  • CSVの形式エラーを解決するためのオプションが用意されている

一方で、OpenRefineは習得のハードルが高く、ビジネス向け機能が十分ではありません。重複排除機能や、別のリストとデータセットを結合してデータを更新・統合するシンプルなワークフローは用意されていません。コラボレーション機能や、ビジネス向けのEnrich・外部連携機能も不足しています。

Microsoft ExcelとGoogle Sheets

Microsoft ExcelとGoogle Sheetsは、データのクリーニングや前処理にも活用できる高機能な表計算アプリケーションです。両者にはいくつか違いがありますが、データの整理や変換に役立つ幅広い機能を備えています。

数式を使ってデータを変換・加工できます。また、条件付き書式を使えば、手作業での対応が必要な無効値を強調表示できます。

データクリーニングでお困りですか?

データクリーニングに関するご意見や、解決したい課題をいつでも募集しています。ぜひお問い合わせフォームから、具体的なユースケースをお聞かせください。