連絡先リストの整理開発・カスタマイズ

お客様ご自身の連絡先リストを整えるPythonスクリプト:名前、電話番号、メールアドレスの表記統一と重複の削除

通常15 分で完成修正対応込み品質チェック
プラン
安心決済詳しく
  • プランの範囲内の修正は無料です。
  • 納品から3日以内にご対応がない場合、自動的に承認されます。

代金はお支払い時にお預かりし、納品を承認した時点ではじめて支払われます。

お客様ご自身の連絡先リストを整えるPythonスクリプト:名前、電話番号、メールアドレスの表記統一と重複の削除

成果物の例

スタンダードパッケージの例

9店舗の月次売上ファイルを1つのExcelレポートにまとめる

実行の仕方

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  フォルダ:sales/2026-10、ファイル9件を検出
2026-11-02 09:14:03 INFO  shop-01.csv:1,284行
2026-11-02 09:14:04 INFO  shop-02.xlsx:967行
2026-11-02 09:14:04 WARN  shop-07.csv:価格のない3行をスキップ(88行目、412行目、913行目)
2026-11-02 09:14:05 INFO  完了:10,412行 -> report-2026-10.xlsx(シート「売上」と「合計」)

コードではなく設定で

各店舗の列名は settings.ini にまとめてあるので、店舗が増えたり列名が変わったりしても、そこに1行加えるだけです。

[columns]
date = 日付, 販売日, 売上日
product = 商品, 品名, 商品名
quantity = 数量, 個数, 点数
price = 価格, 単価

コードの一部

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """1店舗分のファイルを読み込み、レポートの列名に合わせます。"""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}:'{name}' に当たる列がありません(探した列名:{', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

ファイル: merge_sales.py(310行)、settings.ini、requirements.txt、そしてPythonのインストール方法、スクリプトの実行方法、ログの各メッセージの意味を説明したREADMEを含むZIPファイル。お客様ご自身のパソコンで実行していただきます。

お客様: 9店舗を展開する小さな文具店チェーン。各店舗が月の売上をCSVまたはExcelファイルで送ってきますが、列名が少しずつ異なります。 ご依頼内容: フォルダ内のすべてのファイルを読み込み、列を1つの形にそろえ、全売上と店舗別の合計シートを含む1つのExcelレポートを書き出すスクリプト。

お客様とすべての情報は架空のものです。

このサービスについて

ショップ、CRM、スプレッドシートから何年もかけて集めた連絡先リストは、同じ人が3回登場したり、電話番号が5通りの書き方だったり、メールアドレスにスペースや打ち間違いがあったりしがちです。このPythonスクリプトは、お客様のパソコン上でご自身のリストを整理します。スペースの除去、大文字・小文字の修正、電話番号の表記統一、形式が壊れたメールアドレスへの印付け、メールアドレスや電話番号による重複の検出を行い、整理済みのファイルと、確認用に削除した行をまとめた別ファイルを保存します。実際のデータに似せた架空の名前、電話番号、メールアドレスの行をいくつかと、ルールをお送りください。リストがこちらに届くことはなく、スクリプトがどこかに何かを送ることもありません。確認するのはアドレスの形式で、メールボックスが実在するかではありません。

含まれる内容

  • 納品物Pythonスクリプト、手順を一つずつ説明したREADME、スタンダード以上では整理ルールを書いた設定ファイルを入れたZIPファイル。コードは注文ページでも確認できます。
  • 重複を検出メールアドレス、電話番号、またはその両方で
  • 電話番号の表記を統一国番号のない番号には指定した国番号を付与
  • 削除した行も保存削除・統合したすべての行を別ファイルに
  • お客様のパソコン内で完結リストがアップロード・送信されることはなし
  • 読みやすいコードコメント付きで、あとからルールを変えやすい

ご利用の流れ

  1. 1
    ルール架空のサンプル行と重複のルールをお送りいただきます
  2. 2
    コードスクリプトと実行ガイドを作成します
  3. 3
    お試しリストのコピーで実行し、削除された行を確認していただきます
  4. 4
    修正プランの範囲内で修正を依頼し、エラーメッセージがあればお送りください

ご用意いただくもの

リストの列名と、実際のデータと同じ書き方(同じような乱れ方)をした架空の名前・電話番号・メールアドレスの10〜20行。ルール:何を重複とみなすか、どの行を残すか(最新のもの、最も情報の多いもの)、国内番号に付ける国番号、電話番号の書き方。CSVかExcelか、お使いのOS:Windows、macOS、Linux。本物のリストは絶対に送らないでください。

お伺いする内容:

  • リストの出どころは?
  • 何を重複とみなしますか?
  • どの行を残しますか?
  • 電話番号はどう表記しますか?

プランを比較

プランベーシック基本の整理¥2,480スタンダードルール付きの整理¥5,100プレミアム整理ツール¥10,360
納期1日2日3日
修正回数123
コード150行まで400行まで1,000行まで
コードのファイル数1最大3最大8
設定ファイルなしありあり
わかりやすいエラーメッセージとログなしありあり
実行オプションと定期実行のガイドなしなしあり
インストール・実行ガイド(README)ありありあり
言語PythonPythonPython
注文する ベーシック注文する スタンダード注文する プレミアム

安心決済

お支払いは注文時ですが、代金が支払われるのは承認された納品に対してのみです。

  • 固定料金お支払い後にプランの料金が変わることはありません。
  • 代金はお預かりお支払い時、代金はお預かりするだけです。納品を承認した時点でサービス側に支払われます。
  • 納品前にチェックすべての成果物はお手元に届く前に品質チェックを受けます。承認前に注文ページで内容を確認できます。
  • 無料の修正依頼内容の範囲内で、プランで定められた回数まで修正を依頼できます。
  • 3日後に自動承認納品から3日以内に承認も修正依頼もない場合、自動的に承認されます。納品後に注文チャットでメッセージを送った場合、注文は保留されます。こちらから回答した後、3日間のカウントを再開することがあり、その際はチャットでお知らせします。
  • やり直しまたは全額返金結果が依頼内容と合わず修正でも解決しなかった場合、または作業に納期の2倍を超える時間がかかった場合は、注文チャットでご連絡ください。作業をやり直すか、代金を全額返金いたします。
詳しい仕組み →

質問と回答

使われていないメールアドレスを教えてもらえますか?

いいえ。アドレスが正しく書かれているか(@が1つ、ドメインがある、スペースがない)を確認し、ドメインのよくある打ち間違いに印を付けます。メールボックスが実在するかはメールサービスにしかわからず、その確認はこのサービスには含まれません。

「山田太郎」と「山田 T.」を同一人物として見つけられますか?

プレミアムでは、そうした近い重複に印を付け、勝手に統合せずにお客様の判断に任せます。名前だけでは確実とは言えないためです。メールアドレスや電話番号の完全な重複は、ルールに沿って統合します。

連絡先リストは安全ですか?

リストがお客様のパソコンから出ることはありません。スクリプトはご自身で実行し、コードにはインターネットにアクセスする処理がなく、こちらが目にするのはお送りいただいた架空の行だけです。リストと整理済みのコピーは、これまでどおり安全に保管してください。

連絡先を追加したり、足りないメールアドレスを探したりできますか?

いいえ。すでにお持ちの連絡先を整えるだけです。誰かを調べたり、新しいデータを集めたりはしません。

答えが見つかりませんか?

プラン