Skip to main content

bike2csv - Convert FIT, PWX and TCX files from a bike computer to CSV format

Parse any file obtained from a bike computer to a csv file. This packages supports the following file extensions: .fit, .FIT, .pwx and .tcx.

Installation

The package is available under pypi:

pip install bike2csv

Usage

This code unzips .gz files, then converts this unzipped (.fit, .FIT, .pwx or .tcx) file to a .csv file. The code is designed such that all different file extensions are converted to similar csv files (e.g. the same column names). This makes it easier for analyzing and merging the files later.

If your exported files have a .gz format, you can run the sample script underneath to unzip your files and convert them to csv.

import os
from bike2csv.converter import Converter

root = 'data/'
person = 'Albert Einstein'

path = dict(_path_zip = os.path.join(root, 'export', person), # where your .fit.gz files are saved
            _path_fit = os.path.join(root, 'fit', person), # where your .fit files will be saved
            _path_csv = os.path.join(root, 'csv', person)) # where the .csv files will be saved

converter = Converter(**path)

for file in converter.files:
    converter.convert(file)

If your exported files are not zipped anymore, you can run the following sample script to convert your files to csv. Note that the only difference is whether you give _path_zip to the Converter class. If you do not give it a _path_zip, it simply assumes your files are already unzipped.

import os
from bike2csv.converter import Converter

root = 'data/'
person = 'Albert Einstein'

path = dict(_path_fit = os.path.join(root, 'fit', person), # where your .fit files are be saved
            _path_csv = os.path.join(root, 'csv', person)) # where the .csv files will be saved

converter = Converter(**path)

for file in converter.files:
    converter.convert(file)

You can of course adjust the script as you please. A sample script can also be found under bin/run.py.

If you are running into problems, feel welcome to contact the author (evanweenen@ethz.ch).

Attribution

To read fit files in python, this package makes use of the fitparse package © David Cooper, Carey Metcalfe, 2021.

License

This code is © E. van Weenen, 2022, and it is made available under the MIT license enclosed with the software.

Over and above the legal restrictions imposed by this license, if you use this software for an academic publication then you are obliged to provide proper attribution.

E. van Weenen. bike2csv: Convert files from a bike computer to CSV, v0.1 (2022). github.com/evavanweenen/bike2csv.

Metadata

Release files for bike2csv 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bike2csv 0.1.4
File Size Uploaded
bike2csv-0.1.4.tar.gz 7.9 kB Details

Release files / bike2csv-0.1.4.tar.gz

Download URL bike2csv-0.1.4.tar.gz
Size 7.9 kB
Tags Source
SHA-256 checksum
How to use checksums
b5474dc13b09a3a5bc550069de3fcb379ae5a8b082ea356b6a737830c246de1e
BLAKE2b-256 checksum
How to use checksums
f424d78fb63a8d6c8fb4331517aa8655727d152a157782ec58b3dd389bf5597b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/2.0.0 pkginfo/1.8.2 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.7.5

Release history Release notifications | RSS feed

This release

0.1.4 This release

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page