Python転職初心者向けエンジニアリングブログ

Pythonに魅了されたあなたへ。エンジニアリングの扉を開く転職初心者向けのブログへようこそ。このブログでは、Pythonの奥深さに迫りながら、エンジニアリングへの転職に役立つ情報を提供しています。未経験者から始めるPythonエンジニアリングの世界への一歩を踏み出すためのガイダンス、ベストプラクティス、そして成功事例など、初心者の方でもわかりやすいコンテンツをお届けします。

Pythonでエクセルファイルのセルデータを検索・置換して書き換える方法

LYPプレミアム会員 python

Pythonでエクセルファイルのセルデータを検索・置換して書き換える方法

エクセルファイルのセルデータを検索して特定の文字列を新しい文字列に置換し、その結果をエクセルに書き戻す方法を説明します。この処理はopenpyxlライブラリを使用して行います。

1. ライブラリのインストール

まず、openpyxlライブラリをインストールします。

pip install openpyxl

2. ライブラリのインポート

openpyxlを使うために必要なライブラリをインポートします。

import openpyxl

3. エクセルファイルの読み込み

エクセルファイルを読み込みます。ここでは例として sample.xlsx を使用します。

excel_file_path = 'path/to/your/excel/file.xlsx'
workbook = openpyxl.load_workbook(excel_file_path)

4. シートの取得

シートを取得します。デフォルトでは最初のシートが選択されます。

sheet = workbook.active

もし特定のシートを指定したい場合は、以下のように行います。

sheet_name = 'Sheet1'  # シート名を指定
sheet = workbook[sheet_name]

5. セルデータの検索と置換

特定の文字列を検索して、新しい文字列に置換します。ここでは例として "old_text" を "new_text" に置換するとします。

for row in sheet.iter_rows(min_row=1, max_row=sheet.max_row, min_col=1, max_col=sheet.max_column):
    for cell in row:
        if cell.value == "old_text":
            cell.value = "new_text"

この例では、エクセルの各セルを順番に検索し、"old_text" を見つけたらそれを "new_text" に置換しています。

6. エクセルファイルへの保存

変更を加えた後、エクセルファイルを保存します。

workbook.save('path/to/your/new/excel/file.xlsx')

7. 完成したコード

最終的なコードは以下のようになります。

import openpyxl

# エクセルファイルのパス
excel_file_path = 'path/to/your/excel/file.xlsx'

# エクセルファイルの読み込み
workbook = openpyxl.load_workbook(excel_file_path)

# シートの取得(デフォルトでは最初のシート)
sheet = workbook.active

# セルデータの検索と置換
for row in sheet.iter_rows(min_row=1, max_row=sheet.max_row, min_col=1, max_col=sheet.max_column):
    for cell in row:
        if cell.value == "old_text":
            cell.value = "new_text"

# エクセルファイルへの保存
workbook.save('path/to/your/new/excel/file.xlsx')

8. まとめ

この記事では、Pythonを使用してエクセルファイルのセルデータを検索して置換し、変更を保存する方法を紹介しました。これにより、大量のデータを効率的に操作することができます。ぜひ自分のプロジェクトや業務に応用してみてください。