PythonのfitdecodeでGARMINの.fitデータをCSVに変換

Pythonのfitdecodeを使ってGARMINの.fitデータをCSVに変換してみました。

GARMINのデバイスで記録したアクティビティのデータは.fitの拡張子で保存されます。この形式のデータはPythonのfitdecodeというライブラリでデコードできるみたいなので、このライブラリでデコードしてCSVとして保存してみました。

CSVとして保存するデータはfitdecode.FitDataMessageのnameがrecordであるデータのfieldsについて、nameをキーに、そのvalueとunitsを保存するというプログラムを書いてみました。

ソースコード

import fitdecode
import csv

datas = []
with fitdecode.FitReader('Lunch_Ride.fit') as fit:
    for frame in fit:

        if isinstance(frame, fitdecode.FitDataMessage):
            if frame.name == 'record':
                data = {}
                for field in frame.fields:
                    data[field.name] = field.value
                    data[field.name + '_units'] = field.units
                datas.append(data)

with open('output.csv', mode='w', newline='') as f:
    writer = csv.DictWriter(f, datas[0].keys())
    writer.writeheader()
    writer.writerows(datas)

コメント 0

読み込み中...
コメントを投稿
メールアドレスは公開されません
最大2000文字