Blog · October 6, 2026

Parse Bio-Logic .mpr files in Python (and without code)

Bio-Logic .mpr files drift between EC-Lab versions and hide channel metadata in binary headers. Here is a Python (galvani) route that works, plus a no-code path that returns a governed dataset.

battery datafile formatspythonbiologic

Bio-Logic's .mpr is the most common file format nobody's parser fully trusts. Versions drift, flags corrupt, and channel metadata hides in binary headers. Here's the workflow that actually works.

Option A — Python (galvani):

python
from galvani import BioLogic

mpr = BioLogic.MPRfile("battery_01.mpr")
df = mpr.data  # columns: time/s, Ecell/V, I/mA, ...
df.to_csv("battery_01.csv", index=False)
print(df[["time/s", "Ecell/V", "I/mA"]].head())

Option B — no code: upload the .mpr at /tools/biologic-mpr. The server parses the header metadata best-effort and hands back an honest extraction report — for the full time series it walks you through the one-click EC-Lab export (File → Export → CSV/TSV), then ingests the CSV into a governed dataset. Free tier, no card.

3 failure modes to check for in the wild:

  1. Version mismatch — old EC-Lab writes headers newer readers reject; the metadata parser reports the version it found instead of misreading silently.
  2. Corrupt technique flags — a truncated write can mark every row one technique; check the technique column before trusting labels.
  3. Channel drift between sessions — reference drift looks like capacity fade; keep per-file calibration metadata so you compare like with like.

Limits (honest): the binary .mpr path is metadata-only by design; unknown versions return a best-effort header plus the CSV-export instructions, never a silent guess. Odd techniques — tell us via /contact, we add the parser openly.

FAQ: Is my data used for training? No — account-scoped, never pooled. Can I export? Yes — CSV plus RO-Crate with source hash. What does it cost? Parsing is free-tier; compute credits only apply to real physics runs.

Try the workflow from this post

Create a free account, upload your own file, and see the parsed rows and their evidence labels before you trust any number.