組み込み開発のためのPython · レッスン 206 / 220
CSV・JSONで測定結果を保存する
表形式と階層データ形式を使い分け、再利用できる記録を残します。
人が表計算ソフトで確認する記録にはCSV、階層構造を持つ設定やAPIデータにはJSONが役立ちます。形式と文字コードを指定し、読み戻せるデータを作ります。
CSVは列名と改行を管理する
CSVの区切りや引用符は値に含まれることがあるため、手作業でカンマ連結せず`csv`モジュールを使います。UTF-8で保存し、Excelなどの利用先が期待する文字コードも確認します。ヘッダーを含め、単位を列名または仕様書に記録します。
JSONの数値と設定を検証する
JSONは辞書やリストなどの構造を表せますが、読み込めたことは内容が正しいことを意味しません。必須キー、値の型、範囲をアプリケーション側で検証します。秘密情報や実機固有の値を誤って公開リポジトリへ記録しないよう、保存先とアクセス権も確認します。
コード例
手元のPython環境に貼り付ける前に、使用しているPythonの版と対象ライブラリの対応を確認してください。
import csv
import json
from pathlib import Path
rows = [{"time_ms": 10, "voltage_mv": 3298}, {"time_ms": 20, "voltage_mv": 3301}]
with Path("measurements.csv").open("w", newline="", encoding="utf-8") as file:
writer = csv.DictWriter(file, fieldnames=rows[0].keys())
writer.writeheader()
writer.writerows(rows)
Path("config.json").write_text(json.dumps({"baud": 115200}, indent=2), encoding="utf-8")手を動かす課題
測定日時・値・単位の列を持つCSVを出力し、読み戻した値の件数と数値範囲を検証してください。