PR

不要な情報が含まれるデータCSVを一括処理!Pythonでデータクレンジング、必要なデータを整理する方法

不要な情報が含まれるデータCSVを一括処理!Pythonでデータクレンジング、必要なデータを整理する方法

はじめに

不要な情報が含まれるデータを扱う際、例えば商品名に含まれる「【送料無料】」や「(期間限定)」といった不要な情報を削除し、整理されたアイテム名を取得したいことがあります。本記事では、ノイズデータCSVデータをPythonで一括処理し、アイテム名をクリーンアップする方法を紹介します。

CSVデータの前処理が必要な理由

ノイズデータがあるCSVデータには、以下のような特徴があります。

  • 商品名にノイズが多い(例:「【期間限定】Apple iPhone 15 Pro (送料無料)」)
  • データが大量にあるため手作業では大変
  • 機械学習やデータ分析の前処理に適した形式にする必要がある

このようなデータをクリーンアップすることで、

  • レポート作成や可視化がしやすくなる
  • 検索エンジン最適化(SEO)に役立つ
  • データ分析の精度が向上する

といったメリットがあります。

Pythonを使ったノイズデータCSVの一括処理

1. 必要なライブラリをインストール

pip install pandas

2. スクリプトの概要

以下のPythonスクリプトは、指定したフォルダ内のすべてのCSVファイルを処理し、「アイテム名」の列をクリーンアップします。

import os
import pandas as pd
import re

# 商品名のクリーンアップ関数
def clean_product_name(name):
    if not isinstance(name, str):
        return name  # 文字列以外はそのまま返す

    # 【】内の文字を削除
    name = re.sub(r'【.*?】', '', name)

    # 一般的なノイズワードを削除
    noise_words = ['送料無料', '特価', '期間限定', 'セール', '即納', 'ランキング']
    for word in noise_words:
        name = name.replace(word, '')

    # 余分なスペースを削除
    name = re.sub(r'\s+', ' ', name).strip()
    return name

# CSVファイルを一括処理する関数
def process_csv_files(folder_path):
    for file_name in os.listdir(folder_path):
        if file_name.endswith(".csv"):
            file_path = os.path.join(folder_path, file_name)
            df = pd.read_csv(file_path)

            # アイテム名のクリーンアップ
            if 'アイテム名' in df.columns:
                df['アイテム名'] = df['アイテム名'].apply(clean_product_name)
                df.to_csv(file_path, index=False, encoding='utf-8-sig')
                print(f"Processed: {file_name}")

# 実行
csv_folder = r"D:\\git-rakuren\\rakuten_rankings"
process_csv_files(csv_folder)
print("すべてのCSVファイルの処理が完了しました。")

3. スクリプトの動作説明

  1. clean_product_name() で不要な情報を削除
    • 【】内のテキストを削除
    • 「送料無料」「特価」などのノイズワードを削除
    • 空白を整形
  2. process_csv_files() でフォルダ内の全CSVを順番に処理
    • pandasでCSVを読み込み
    • 「アイテム名」のクリーンアップを適用
    • クリーンアップ後のデータを上書き保存

4. 処理前後のデータ比較

処理前のCSVデータ

ジャンルランクアイテム名価格
スマホ1【期間限定】Apple iPhone 15 Pro (送料無料)150,000
PC2【特価】Dell Inspiron 16 3520 ノートパソコン120,000

処理後のCSVデータ

ジャンルランクアイテム名価格
スマホ1Apple iPhone 15 Pro150,000
PC2Dell Inspiron 16 3520 ノートパソコン120,000

まとめ

このスクリプトを使えば、ノイズデータのCSVデータを自動でクリーンアップし、分析しやすい状態に整えることができます。

  • 大量のCSVデータを一括処理
  • 商品名のノイズを削除して分析しやすくする
  • 機械学習やSEO対策にも活用可能

データの前処理を効率化して、より価値のあるデータ分析や商品管理に役立てましょう!

コメント

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