【Python】手入力データの正しさを自動チェック!全角/半角チェックスクリプト

はじめに

手入力データを付くると、名前に半角カタカナが混じるなどのミスが発生すること。これを自動で検出できたら素晴らしいですよね!

やりたいこと

1.名前や住所の入力の正しさをチェック
2.全角/半角ミスを検出
3.当たり前の入力チェックを簡単にスクリプト化

ライブラリ

  • re
  • pandas

インポート手順

次のようにインストールします(パンダスは必要ならず)

pip install pandas

このライブラリの説明

  • re:正規表現を使って文字列を検索!
  • pandas:Excelのような表系データを操作するのに便利

ディレクトリ構成

check_text/
└── input_data.csv
└── check_script.py

# コードスクリプト

コードスクリプトの概要

  • 入力データを読み込む
  • 全角カナか半角カナが含まれているか検出
  • ミスをリスト化
import pandas as pd
import re

def check_misinput(text):
    if pd.isnull(text):
        return False
    # 半角カタカナを検出
    if re.search(r'[\uff61-\uff9f]', text):
        return True
    # ASCII文字(英数字半角)がまざっている場合
    if re.search(r'[\u0020-\u007E]', text):
        return True
    return False

# CSV読み込み
df = pd.read_csv('input_data.csv')

# チェック実行
df['name_misinput'] = df['name'].apply(check_misinput)
df['address_misinput'] = df['address'].apply(check_misinput)

# ミスがある行を抽出
error_df = df[(df['name_misinput']) | (df['address_misinput'])]

実行結果

error_list.csvに次のような行が出力されます:

name address name_misinput address_misinput
サトウ タロウ 東京都XX区 True False

コード解説

  • re.search(r'[\uff61-\uff9f]', text) :半角カナカナを検索
  • re.search(r'[\u0020-\u007E]', text) :半角ASCII文字を検索
  • pandasでDataFrameを簡単に操作
  • チェック結果を新しいCSVに出力

# 注意点

  • 入力データがUTF-8编集されていることを確認
  • 正規表現はパターンの設計により調整可能

まとめ

入力ミスを見つけるだけで、後の仕事の負担がぐっと減ります! pandasとreでサクッとちょっとだけ楽して、自動化スクリプトを作ってみましょう!

コメント

タイトルとURLをコピーしました