いろいろ倉庫

KNIME、EXCEL、R、Pythonなどの備忘録

【KNIME】全角と半角を変換したい

・全角と半角が混在している文字列があったとする。

・表記の揺れは小さい方が良いので、KNIMEでこの揺れを半角か全角のどちらかに揃えたいと思ったのだが、やっぱりやり方が分からなかった。

・そこで、Python Scriptノードを使って、Pythonで実装してみた。今回利用したのはmojimojiというPythonライブラリで、詳細は以下を確認して欲しい。

pypi.org

・やることはシンプルで、Pythonの仮想環境中でpip install mojimojiでライブラリをインストールし、KNIMEのPython Scriptノード中でPythonを回した(下図)。

Python Scriptの中身は以下の通り。

#全角を半角にする

import mojimoji

df=input_table_1
df['example']=df['example'].apply(mojimoji.zen_to_han)
output_table_1 = df

 

#半角を全角にする

import mojimoji

df=input_table_1
df['example']=df['example'].apply(mojimoji.han_to_zen)
output_table_1 = df

・カタカナ、数字、アルファベットのそれぞれを変換しないように設定することも可能。

 

・表を丸ごと半角に変換する場合は、以下のような感じで処理すれば良いかも。

import mojimoji

df=input_table_1
for i in range(len(df.columns)):
    df.iloc[:,i]=df.iloc[:,i].apply(mojimoji.zen_to_han)
output_table_1 = df

 

終わり。