Tallyband

FitbitデータをCSV出力する方法と、ファイルごとの中身

FitbitのデータをCSV出力したくても、Google Takeoutのエクスポートで届くのは、歩数なら月ごと、心拍数なら1日ごとのJSONファイルと、いくつかのCSVフォルダです。Excelで開けるのは1ファイルずつです。どのファイルに何が入っているかと、選んだ期間を1日1行のCSVやExcelのシートにするいちばん短い方法をまとめました。

どのファイルに何が入っているか

Takeoutのアーカイブでは、ほとんどのファイルがTakeout/Fitbit/Global Export Data/にあります。以前のfitbit.comのエクスポートで作られたアーカイブでは、同じファイルがPhysical Activity、Sleep、Personal & Accountなどのフォルダに入っています。新しいアーカイブには、名前が_GoogleDataで終わるCSVのフォルダもあります。アーカイブがまだ手元にない場合は、Google Takeoutでの受け取り方から始めてください。下のファイル名は、実際のアーカイブで作られ、テストされたオープンソースの読み込みツールに基づいています(出典は末尾)。

Fitbitアーカイブ内のファイル
ファイル1件の中身注意点
steps-2026-03-01.json1分間の歩数時刻はUTCなので、1日の合計はタイムゾーンによって変わります。値は文字列で書かれています。
distance-….json1分間の距離単位はセンチメートルです。100,000で割るとキロメートルになります。
calories-….json1分間の消費カロリー安静時の消費も含むので、1日の合計が総消費カロリーです。
heart_rate-2026-03-01.json数秒ごとの心拍数1回分1日1ファイルで、1万から2万件になることがよくあります。時刻はUTCです。
resting_heart_rate-….json1日分エクスポートした日より後の日付は0で埋まっています。
sleep-….jsonステージ付きの睡眠1回分開始と終了は現地時刻です。新しい夜から順に並び、ファイル同士が重なっています。
weight-….json体重の計測1回分単位が書かれていません。下の「体重」を参照してください。
exercise-0.json、exercise-100.jsonエクササイズ1回分日付ではなく番号で分かれているので、期間で絞るにはすべて読む必要があります。
Sleep Score/sleep_score.csv、HRVやSpO2のCSV1晩または1日分最初からCSVです。睡眠とは日付か睡眠IDで結び付けます。

月ごとのファイルは境目で1日ほど重なっているので、すべてのファイルをそのまま足すと二重に数えてしまいます。先に重複した時刻を取り除いてください。

UTCと日本時間の9時間のずれ

歩数、距離、消費カロリー、心拍数の時刻はUTCで記録されています。日本時間(Asia/Tokyo)はUTCより9時間進んでいて、夏時間もありません。UTCの日付でそのまま合計すると、日本時間の午前0時から9時までの記録が前日に入ってしまいます。たとえば朝の通勤で歩いた分は、前日の歩数に数えられます。

一方、睡眠の開始と終了は現地時刻で書かれているので、ずらす必要はありません。Tallybandは、Fitbitのプロフィールに保存されたタイムゾーンで1分ごとの値を合計します。プロフィールにタイムゾーンがなければこの端末のタイムゾーンを使い、どちらの場合も画面で変更できます。日本で使っていたなら、Asia/Tokyoになっているかを確かめてください。

睡眠

sleep-ファイルの1件は1回の睡眠で、ステージ(浅い睡眠、深い睡眠、レム睡眠、覚醒)を含みます。睡眠スコアは別のSleep Score/sleep_score.csvにあります。Tallybandの「睡眠」のCSVは1晩または仮眠ごとに1行で、開始と終了の時刻、睡眠時間と覚醒時間、ステージ、効率、スコアが並びます。仮眠はmain_sleep列がnoになり、日ごとの集計では本睡眠と仮眠を別の列に分けます。ステージを1つずつ時刻つきで並べた表は、Proで出力できます。

心拍数

心拍数はheart_rate-2026-03-01.jsonのように1日1ファイルで、数秒ごとの値が入っています。安静時心拍数はresting_heart_rate-ファイルに1日1件あり、エクスポートした日より後の日付には0が入っています。Tallybandは安静時心拍数を日ごとの集計の列に入れ、0の日は記録なしとして扱います。すべての記録を時刻つきで出力する表はProの機能で、1か月でも約50万行になるため、一度に31日分までです。

体重

体重はweight-2026-03-01.jsonのように月ごとのファイルにあり、1件ごとにweight、bmi、fat(体脂肪率)、日付、時刻、記録元(体重計やアプリ)が入っています。日付は「月/日/年の下2桁」の順です。注意したいのは、体重に単位が書かれていないことです。あるオープンソースの変換ツールはポンドとして読み、別のツールはキログラムとみなしています。自分のファイルの単位は、同じ計測に保存されたBMIで見分けられます。

体重をBMIで割って単位を見分ける
体重÷BMI単位理由
約2.1から4.4キログラムBMIは体重(kg)を身長(m)の2乗で割った値なので、体重÷BMIは身長の2乗です。身長1.45mから2.10mなら2.1から4.4になります。
約4.6から9.7ポンド同じ値に2.2046を掛けたものです。

たとえば体重が172.4、BMIが24.68なら、172.4÷24.68=6.99なのでポンドです(78.2kg)。大人ではこの2つの範囲は重なりません。Tallybandはすべての計測でこの確認を行い、見つけた単位を画面に表示したうえで、キログラムとポンドの両方を書き出します。新しいアーカイブの_GoogleDataフォルダにあるweight.csvでは、列名に単位(グラム)が入っています。

期間を決めて1枚のシートにする3つの方法

  1. Tallyband(1、2分)。TakeoutのZIPを選び、期間を決めて、日ごとの集計のCSVをダウンロードします。選んだタイムゾーンで1分ごとの値を合計し、重複を取り除き、単位を換算し、睡眠スコア、HRV、SpO2を各日に結び付けます。睡眠、体重、エクササイズはそれぞれ別のCSVです。区切り文字は日本語版のExcelに合わせてカンマが初期設定で、ファイルはBOM付きのUTF-8なので、そのままExcelで開けます。Proなら、表ごとにシートを分けた1つのExcelファイルにまとめられます。どれもブラウザの中で処理します。
  2. ExcelのPower Query(ひと晩)。Excelで「データ」タブの「データの取得」から「ファイルから」「フォルダーから」を選び、Global Export Dataを指定します。steps-など1つの接頭辞で絞り込んでファイルを結合し、レコードを列に展開して、valueを数値に、dateTimeを日付と時刻に変えます。そのうえでUTCから9時間ずらし、日ごとにグループ化します。これをデータの種類ごとに繰り返します。
  3. スクリプト。Pythonを使うなら、オープンソースのFitOutライブラリで、呼吸数、HRV、安静時心拍数などを期間を指定して読み込めます。

期間の指定について

Google TakeoutにはFitbitデータの期間を指定する機能がなく、期間を選んでCSVを出せた以前のエクスポートも、fitbit.comのアカウントの仕組みと一緒になくなりました。期間はダウンロードしたあとで切り出します。Tallybandでは日付を入力するか、「直近30日」「直近12か月」や年のボタンを押せば、すべての表がその期間に揃います。

アーカイブを、1日1行のスプレッドシートにできます。CSVの出力は無料で、何もアップロードしません。

Takeoutのアーカイブを開く

Tallyband Pro、8ドル(買い切り):選んだ期間の全データを1つのExcelファイルかCSVファイルのZIPにまとめ、心拍数のすべての記録と1分ごとの歩数も保存できます。GumroadでProを購入または無料でできることを見る。

よくある質問

FitbitのJSONファイルはExcelで開けますか?

開けます。Power Queryの「データの取得」から「ファイルから」「JSONから」で1ファイルずつ、「フォルダーから」ならまとめて読み込めます。ただし、レコードの展開、文字列から数値への変換、UTCから日本時間への変換は自分で行う必要があります。

1日の歩数がアプリの表示と少し違うのはなぜですか?

アーカイブの歩数は1分ごとにUTCで記録されています。UTCの日付で合計すると、日本時間の午前0時から9時までの歩数が前日に入ります。Tallybandは、Fitbitのプロフィールのタイムゾーンで合計し、そのタイムゾーンは画面で変更できます。

Google HealthアプリにCSV出力の機能はありますか?

Google Healthのヘルプで案内されているのは、Google Takeoutによる全データのアーカイブと、エクササイズごとのTCXファイルの書き出しです。全データのアーカイブはJSONが中心で、一部がCSVのフォルダです。Googleアカウントに移行していないアカウントについては、fitbit.comの「選択した Fitbit データをエクスポートする」も案内されています。

睡眠データだけをCSVで出力できますか?

Takeoutでは睡眠だけを選べないので、Google Healthのアーカイブ全体を受け取ります。それをTallybandで開けば、睡眠のCSVだけを好きな期間で無料でダウンロードできます。

心拍数のデータをすべてCSVにできますか?

安静時心拍数は、無料の日ごとの集計に入っています。数秒ごとのすべての記録を時刻つきで出力するのはTallyband Proの機能で、価格は8ドル(買い切り)です。1か月でも約50万行になるため、一度に31日分まで出力できます。

出典

最終確認日:2026年10月29日

関連ページ