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

2021/08/11 categories:Python| tags:Python|fitdecode|GARMIN|

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

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

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

出力されたCSVは以下の通りです。

ソースコード

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)

Share post

Related Posts

Comments

comments powered by Disqus