【Germin】FITファイルをCSVにする方法

Germin ConnectからCSVをインストールすると文字化けをしていたのでPythonでfitファイルをCSVに変換する方法を説明します。

パッケージのインストールが必要になるので仮想環境を使用します。

python -m venv venv 
venv\Scripts\Activate 

使用するパッケージは以下の3つ。csvとcollectionsは標準ライブラリなのでpipでインストールする必要はありません。fitparseだけインストールします。

  • csv(標準ライブラリ)
  • collections(標準ライブラリ)
  • fitparse
pip install fitparse

以下のコードを実行すればcsvファイルを取得できます。

from fitparse import FitFile
from collections import defaultdict
import csv

###### 設定 ######
fitfile_path = r"FITファイルのパスを書く"
csv_output_path = r"CSVファイルを保存するパスを書く"
##################

# FITファイルを開く
fitfile = FitFile(fitfile_path)

# 時系列データを格納する辞書(リストのデフォルト)
data_series = defaultdict(list)

# "record"メッセージ(時系列データを取得)
for record in fitfile.get_messages("record"):
  for field in record:
    data_series[field.name].append(field.value)

with open(csv_output_path, "w", newline="") as csvfile:
  writer = csv.writer(csvfile)
  # ヘッダーを作成
  writer.writerow(data_series.keys())
  # 各データを行ごとに書き込む
  writer.writerows(zip(*data_series.values()))

コメント