LoginSignup
0
1

PythonでExcelのデータを検索・置換する

Last updated at Posted at 2024-06-27

エクセルの「検索と置換」は、大量のデータを素早く整理・処理するのに役立つ非常に便利な機能だ。これを使うことで、データを一つ一つ手作業で修正する手間を省くことができ、作業効率が向上する。

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コード例です。:point_down:

【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()

上記のコードは、エクセルのワークシートで「調整部門」というテキストを含むすべてのセルを見つけ、その値を「企画部」というテキストに置き換える。さらに、置換されたデータを強調するためにセルの背景色が設定される。
ExcelReplaceExcelData.png

【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ファイルを操作するチュートリアルをもっと見る:

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1