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()))
コメント