Source code for mlprodict.cli.asv2csv

"""
Command line about exporting :epkg:`asv` results into a dataframe.


:githublink:`%|py|5`
"""
from datetime import datetime
from ..asv_benchmark.asv_exports import enumerate_export_asv_json


[docs]def asv2csv(folder, outfile=None, last_one=False, baseline=None, conf=None, fLOG=print): """ Converts results produced by :epkg:`asv` into :epkg:`csv`. :param folder: folder where the results are :param outfile: output the results into :epkg:`csv` :param last_one: converts only the last report into csv :param baseline: baseline usually ``'skl'``, if not empty, computes ratios :param conf: test configuration, to retrieve more metadata :param fLOG: logging function .. cmdref:: :title: Converts asv results into csv :cmd: -m mlprodict asv2csv--help :lid: l-cmd-asv2csv The command converts :epkg:`asv` results into :epkg:`csv`. Example:: python -m mlprodict asv2csv -f <folder> -o result.csv The filename may contain ``<date>``, it is then replaced by the time now. :githublink:`%|py|35` """ iter_rows = enumerate_export_asv_json( folder, last_one=last_one, baseline=baseline, conf=conf) if outfile is None: rows = [] for row in iter_rows: fLOG(row) rows.append(row) return rows import pandas df = pandas.DataFrame(iter_rows) outfile = outfile.replace( "<date>", datetime.now().strftime("%Y%m%dT%H%M%S")) df.to_csv(outfile, index=False) return df