【Python】バイナリファイルをCSVに変換する方法
◇前置き
この記事では、Pythonの数値計算ライブラリであるNumPyを使用して、バイナリファイルをCSV形式に変換する方法を紹介します。
NumPyは高速な数値演算をサポートしており、データの変換や解析によく使われます。
バイナリファイルをCSVに変換することで、データの可視化や他のプログラムでの利用が容易になります。
◇バイナリファイルの読み込み
まず、バイナリファイルを読み込みます。
バイナリファイルの形式によって読み込み方法が異なります。
この記事では、例としてバイナリファイル内のデータ型がfloat型であると仮定します。
import numpy as np # バイナリファイルのパス file_path = 'path/to/binary/file.bin' # バイナリファイルを読み込む data = np.fromfile(file_path,dtype=np.float32)
バイナリファイルのデータをNumPy配列として読み込みます。
データの型はバイナリファイルの形式に合わせて適切に指定してください。
◇データの変換
バイナリファイルから読み込んだデータをCSV形式に変換します。
# 変換後のCSVファイルのパス csv_file_path = 'path/to/output/file.csv' # NumPy配列を2次元の形状に変換する data = data.reshape((-1, 1)) # CSVファイルにデータを保存する np.savetxt(csv_file_path, data, delimiter=',')
NumPyのreshape関数を使用して、データを2次元の形状に変換します。
この例では、1つの列を持つ2次元配列に変換しています。
必要に応じて適切な形状に変換してください。
np.savetxt関数を使用して、変換後のデータをCSVファイルに保存します。
◇完成したソースコード
ここまでの内容をまとめると以下のようなコードが出来上がります。
import numpy as np # バイナリファイルのパス file_path = 'path/to/binary/file.bin' # 変換後のCSVファイルのパス csv_file_path = 'path/to/output/file.csv' # バイナリファイルを読み込む data = np.fromfile(file_path, dtype=np.float32) # NumPy配列を2次元の形状に変換する data = data.reshape((-1, 1)) # CSVファイルにデータを保存する np.savetxt(csv_file_path, data, delimiter=',')
このコードを実行すると、指定したバイナリファイルがCSV形式に変換され、指定した場所に保存されます。