python 正規表現 re関数

Python

・データ型変更

スクレイピングで取得したデータを加工、計算したいときによく使います

ウェブ上から取得したデータは基本的にデータタイプは str型なのでそのままでは計算できません

また、カンマや単位などの情報も計算には不要です

data="1,234,567円"
print(type(data))
# <class 'str'>

次の re 関数を使ってデータを加工します

import re

data="1,234,567円"
num_data=re.sub(r"\D","",data)

print(num_data)
# 1234567
print(type(num_data))
# <class 'str'>

re.sub のメソッドを使って、数位以外を示す “\D” を何もない文字列 “” で置き換えたことになります

ただ、これだけだとまだデータタイプはstr型のままなのでさらに加工します

int_data=int(num_data)
print(int_data)
# 1234567
print(type(int_data))
# <class 'int'>

これで整数型のint型になりますので、計算などに使えます

openpyxl でエクセルに数字として入力したいとき等にも使えます

・文字の置換、削除

文字列や数値から不要なものを削除、置換します

import re

str = '1 佐藤 2 鈴木 3 田中'
str_r=str.replace(' ', '')
print(str_r)
# 1佐藤 2鈴木 3田中

半角スペースと全角スペースは区別されます

どちらも削除したいなら以下のようになります

import re

str = '1 佐藤 2 鈴木 3 田中'
str_r=str.replace(' ', '').replace(' ','')
print(str_r)
# 1佐藤2鈴木3田中

上記のコードでは第2引数に何も記載しなかったので文字が削除されましたが

ここに別の文字列を入れれば文字列の一部を置換することもできます

import re

str = '1 佐藤 2 鈴木 3 田中'
str_r=str.replace('佐藤', '木村')
print(str_r)
# 1 木村 2 鈴木 3 田中

コメント