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)