はじめに
手入力データを付くると、名前に半角カタカナが混じるなどのミスが発生すること。これを自動で検出できたら素晴らしいですよね!
やりたいこと
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でサクッとちょっとだけ楽して、自動化スクリプトを作ってみましょう!
コメント