【Python】Excelの文字を置換する:openpyxlの基本テクニック

Python_エクセル文字置換_アイキャッチ Python

Pythonで、エクセルの文字列を置換するコードをご紹介します。

ぜひ、お試しください。

Excelの文字を置換(特定文字)

以下のコードを実行すると、特定文字を一括で置き換えます。


import openpyxl

wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet1']

for row in ws.iter_rows():
    for cell in row:
        if cell.col_idx == 1:
            new_text = cell.value.replace("エクセル", "Excel")
            cell.value = new_text

#別名で保存
wb.save('C:/Users/xxx/Desktop/test/test置換.xlsx')

 

コード実行後

Excelシート内の特定文字を置換します。

A列 に存在する「エクセル」を「Excel」に入れ替えます。


 
 

Excelの文字を置換(複数文字)

以下のコードを実行すると、複数文字をまとめて置換します。


import openpyxl

wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet1']

#置換する文字列を指定
Henkan_mae = ['2020','エクセル','ワード']
Henkan_go = ['2021','Excel','Word']
i = 0

#リストをループ
for list in Henkan_mae:
    
    i = i + 1

    #セルをループ
    for row in ws.iter_rows():
        for cell in row:

            #1行目だったら
            if cell.col_idx == 1:

                #セルにリストが含まれていたら
                if list in cell.value:

                    #置換
                    new_text = cell.value.replace(list, Henkan_go[i-1])
                    cell.value = new_text

#別名で保存
wb.save('C:/Users/xxx/Desktop/test/test置換.xlsx')

 

コード実行後

Excelシート内の複数の文字を置換します。

[Henkan_mae = [‘2020′,’エクセル’,’ワード’]] に、置換したい文字列を指定します。

[Henkan_go = [‘2021′,’Excel’,’Word’]] に、置換後の文字列を指定します。


 
 

Excelの文字を置換(スペース削除)

以下のコードを実行すると、文字列に含まれる空白スペースを削除します。


import openpyxl

wb = openpyxl.load_workbook('C:/Users/xxx/Desktop/test/test.xlsx')
ws = wb['Sheet1']

#全角スペースと半角スペースを指定
Space = [' ',' ']
i = 0

#リストをループ
for list in Space:

    i = i + 1

    #セルをループ
    for row in ws.iter_rows():
        for cell in row:

            #1行目だったら
            if cell.col_idx == 1:

                #セルにリストが含まれていたら
                if list in cell.value:

                    #置換
                    new_text = cell.value.replace(list, '')
                    cell.value = new_text

#別名で保存
wb.save('C:/Users/xxx/Desktop/test/test置換.xlsx')

 

コード実行後

Excelシート内の余分な空白を削除します。

[Space = [‘ ’,’ ‘]] に、全角スペースと半角スペースを指定しています。

[new_text = cell.value.replace(list, ”)] にて、空白を消去します。


 
 
参考になりましたら、幸いです。
 

【Python】Excelにリストを書き込み:openpyxlの基本テクニック
...