プログラミング入門

Python初心者が職場データの半角全角地獄をPandasで救った話

今日の業務は定型レポート作成。普段は淡々とSQLで抽出して、Excelに納めるだけのはずが、社内のデータは「気ままに更新された痕跡」が満載でした。半角スペース・全角スペース・謎の改行入り……頭から煙が出るかと思いましたが、夜食で寄った定食屋でふと閃きが来て、私の頭の中ので急にコードを整理し始めました。

何が問題だったか(現場のリアル)

具体的にはこんな状況です。

  • ユーザー名や住所のカラムに半角・全角スペースが混在している。
  • 特定カラムの文字数がバラバラで、システム登録時に桁数が揃っていないと弾かれる。
  • 人によって「 – 」や「/」を全角で入れていたりして正規化が必要。

「まあ、手で直せばいいか…」と思っていたら、1万行を超えるデータが目の前に。さすがに目が泳ぎます。そこで登場するのがPython(Pandas)です。初心者でも簡単にできる処理を使って、データを整えました。

私がやったこと(ざっくり手順)

  1. 全角スペースを半角に、または削除して揺らぎを減らす
  2. 不要な前後スペースをstripで削る
  3. 文字列の置換(.str.replace)で表記ゆれを統一する
  4. 必要な文字数に左詰めで合わせる(.str.ljust)

サンプルコード(初心者向けにシンプル)

# pandasを読み込む
import pandas as pd

# 例:DataFrameの読み込み(省略)

# 1. 全角スペースを半角に(または削除)
df['name'] = df['name'].str.replace(' ', ' ', regex=False)  # 全角スペースを半角に
df['name'] = df['name'].str.strip()  # 前後の半角スペースを削除

# 2. 表記ゆれの置換(例:旧表記 -> 新表記)
df['status'] = df['status'].str.replace('保留中', '保留', regex=False)
df['remark'] = df['remark'].str.replace('/', '/', regex=False)  # 全角スラッシュを半角に

# 3. 特定カラムを左詰めで桁数を揃える(例:幅10、スペースで埋める)
df['code_fixed'] = df['code'].astype(str).str.ljust(10, ' ')

ポイントは全角スペース(’ ’)は普通のスペースとは別物だという点です。まずは全角を半角に直すか削除してから、stripで余分な空白を落とすと安定します。

私がやらかした失敗談(クスッと笑える)

最初、私は「とりあえず全部の空白を" "(半角)に置き換えればいいでしょ」と思ってやったら、CSVに含まれるタブや改行がぐちゃっとなってファイルが読み込めなくなりました。簡単にやろうとして余計に悪化させるのは、まさに自分クオリティでした。結局、落ち着いて対象カラムだけ操作することで事なきを得ました。

現場で役立つちょっとしたコツ

  • 対象カラムのみ操作する:全カラムに対して置換やpadをやると予期せぬ副作用が出ます。
  • 処理前にサンプル出力:head()やvalue_counts()で変化を確認しましょう。
  • バックアップは必ず:元のデータは消さずに別カラムや別ファイルで保存しておくと安心です。

作業の最終形

夜食の定食屋で閃いたとき、頭の中のこんまりが「これはいる、これは要らない」とコードの中でささやき始めました。少しずつ揺らぎを潰していくと、画面の数字がスッと整っていきます。そのときの気持ちはまるで部屋の大掃除をしたときのように清々しかったです。

まとめ:Python(Pandas)は初心者でも実務で使える

今回の処理は派手ではありませんが、定型レポート作成の現場では非常に価値があります。Python初心者でも、「置換(.str.replace)」「前後削除(.str.strip)」「左詰め(.str.ljust)」を覚えれば、手作業で何時間もやっていた作業を一気に片づけられます。

もし、あなたのデータが半角・全角・表記ゆれで悩んでいるなら、Pandasをひとまず試してみてください。コード一行で世界がスッキリする瞬間が来るかも。Python初心者でも、実務でちゃんと役に立ちますよ。

ABOUT ME
ショート
文系出身・一般&医療事務歴ありの会社員。 「パソコン苦手…」「残業が当たり前…」そんな日々を変えたくて、40代から独学でPythonやExcelの自動化に挑戦中。 プログラミングもブログも初心者レベルからの出発ですが、“早く帰りたい”一心で効率化を追求しています。 つまずいたリアルな失敗談や、「これならできた!」という事例を通して、パソコンに自信がない人の味方になれるブログを目指しています。