pythonでExcelアクティブシートA列から必要な文字列のみを抽出してB列に書き込む

Excelのデータを読み込んで、特定の文字列を検索し、それを別の列に「・」で区切って表示する処理をPythonで行う場合、pandasopenpyxlライブラリを使用すると便利です。以下にPythonでの実装例を示します。

必要なライブラリのインストール

まず、必要なライブラリをインストールしてください。コマンドプロンプトやターミナルで以下のコマンドを実行します。

pip install pandas openpyxl

Pythonコード

import pandas as pd

# Excelファイルを読み込む
file_path = 'path_to_your_excel_file.xlsx'
sheet_name = 'Sheet1'  # シート名を指定
df = pd.read_excel(file_path, sheet_name=sheet_name)

# 検索する文字列のリスト
search_words = ["鍵", "錠", "キー", "AL", "いづれか", "いずれも"]

# 結果を格納するリストを初期化
results = []

# 各行をイテレートして条件に一致する文字列を検索
for index, row in df.iterrows():
    found_words = []
    cell_value = str(row['A'])  # A列の値を読み取る
    if pd.isna(cell_value):  # NaN値(空白行)を検出
        break  # 空白行が見つかったらループを終了
    for word in search_words:
        if word in cell_value:
            found_words.append(word)
    results.append('・'.join(found_words))  # 見つかった語を「・」で結合

# 結果をDataFrameに追加
df['B'] = results

# 結果を新しいExcelファイルに保存
output_path = 'path_to_your_output_excel_file.xlsx'
df.to_excel(output_path, index=False)

print("処理が完了しました。結果は以下のファイルに保存されています:", output_path)

コードの説明

ライブラリのインポート

pandasをインポートしています。

Excelファイルの読み込み

pandasread_excel関数を使用してExcelファイルを読み込みます。

検索と結果の蓄積

各行をイテレートし、指定された検索語が含まれるかを確認します。一致する各単語をリストに追加し、「・」で結合して結果リストに追加します。

結果の保存

結果を新たな列に追加し、変更を新しいExcelファイルに保存します。

実行方法

このコードを.pyファイルとして保存し、Python環境で実行します。ファイルパスは実際の環境に合わせて適宜変更してください。これにより、指定された条件に基づきデータが処理され、新しいExcelファイルに結果が出力されます。

Excel VBAで同様のコード

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