2021/04/02

Python連携

16進数から10進数へ変換

このコンテンツでは、16進数から10進数へ変換する方法について説明します。
なお、本コンテンツで利用したバージョンはSpotfire10.10です。ご利用環境によって、一部画面構成が異なりますので、ご了承ください。

16進数から10進数への変換

装置などから出力されるデータの中に16進数の文字列が含まれていることがあります。
Spotfireで扱える型は文字列型、数値型などがありますが、16進数文字列はあくまで文字列としてしか扱えないため、一度10進数に変換する必要があります。ただ、Spotfireの関数では16進→10進の変換関数はありません。

データ関数の登録機能で関数を追加すると便利です。Rで実行する方法はこちらに記載してあります。
Pythonでは上記の「式の関数」は使用できないため、「データ関数」を使用します。
データはRで実行した時と同様に、下記のものを使用します。

hex
ffff
0fac
12fc98
AC

データ関数の登録

Python言語を使用して独自の関数を定義できます。
データ関数の概要や仕組みについて詳しく知りたい方はこちらを参照してください。

「ツール」→「データ関数を登録」を選択し、

タイプから「Pythonスクリプト」を選択し、以下のスクリプトを書きます。

import pandas as pd
import numpy as np

l = []
for i in input:
l.append(int(i, 16))
data = np.array(l)
output = pd.Series(data)

「パラメータの入力」「パラメータの出力」を以下のように設定します。

設定が終わったら実行ボタンを押します。
次に、以下のように「入力」「出力」ともに「カラム」を選択します。

しばらく待って実行が終了したら、テーブルを再度表示します。

outputというカラムが作成され、10進数で表すことができました。

【Python連携】記事一覧に戻る
全記事一覧に戻る