エクセルの「検索と置換」は、大量のデータを素早く整理・処理するのに役立つ非常に便利な機能だ。これを使うことで、データを一つ一つ手作業で修正する手間を省くことができ、作業効率が向上する。
Pythonを使ってExcelのデータを検索・置換するには、Spire.XLS for Pythonライブラリを使います。
その手順は以下の通りです:
1. 以下のpipコマンドを使用して、Spire.XLS for Pythonライブラリをインストールします:
pip install Spire.XLS
2. インストール後、spire.xlsライブラリと必要なモジュールをインポートします;
3. LoadFromFile()
メソッドを使用して、Excel ドキュメントをロードします;
4. 指定したワークシートまたはセル範囲を取得し、FindAllString()
メソッドを使用して指定したデータを検索します;
5. 見つかったセルを繰り返し処理し、その中のデータを置換する;
6. 生成された Excel ファイルを保存する。
以下は、Excelのワークシートやセル範囲内のデータを検索して置き換えるための2つのPythonコード例です。
【Python】 Excelワークシートのデータを検索して置換する
from spire.xls import *
from spire.xls.common import *
# Excelファイルを読み込む
workbook = Workbook()
workbook.LoadFromFile("input.xlsx")
# 最初のワークシートを取得する
worksheet = workbook.Worksheets[0]
# ワークシートで「調整部門」を含むセルを見つける。
ranges = worksheet.FindAllString("調整部門", False, False)
# 見つかったセルを繰り返し処理する。
for range in ranges:
# データを置き換える
range.Text = "企画部"
# ハイライトカラーを設定する
range.Style.Color = Color.get_Yellow()
# ファイルを保存する
workbook.SaveToFile("FindReplace.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
上記のコードは、エクセルのワークシートで「調整部門」というテキストを含むすべてのセルを見つけ、その値を「企画部」というテキストに置き換える。さらに、置換されたデータを強調するためにセルの背景色が設定される。
【Python】指定したセル範囲のデータの検索と置換
from spire.xls import *
from spire.xls.common import *
# Excelファイルを読み込む
workbook = Workbook()
workbook.LoadFromFile("input.xlsx")
# 最初のワークシートを取得する
sheet = workbook.Worksheets[0]
# 指定したセル範囲を取得
range = sheet.Range["A3:D6"]
# セル範囲から「調整部門」を含むセルを探す
cells = range.FindAllString("調整部門", False, False)
# 見つかったセルを繰り返し処理する。
for cell in cells:
# データを置き換える
cell.Text = "企画部"
# ハイライトカラーを設定する
cell.Style.Color = Color.get_Yellow()
# ファイルを保存する
workbook.SaveToFile("FindReplaceinRange.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
このコードサンプルでは、まず CellRange.FindAllString()
メソッドで指定範囲のデータを検索し、CellRange.Text
プロパティで値を置換します。
Pythonを使ってExcelファイルを操作するチュートリアルをもっと見る: