29 lines
776 B
Python
29 lines
776 B
Python
import os
|
|
import sys
|
|
import pandas as pd
|
|
|
|
KEY = "Elapsed seconds"
|
|
|
|
merged = None
|
|
|
|
paths = [p.strip() for p in sys.stdin.read().split() if p.strip()]
|
|
|
|
for csv_path in paths:
|
|
# br is branch (variable shortened to pass linter)
|
|
br = os.path.splitext(os.path.basename(csv_path))[0]
|
|
|
|
df = pd.read_csv(csv_path)
|
|
|
|
if KEY not in df.columns:
|
|
sys.exit(f"{csv_path} is missing the {KEY} column")
|
|
|
|
# add branch marker to every metric column
|
|
df = df.rename(columns={c: f"{c} [{br}]" for c in df.columns if c != KEY})
|
|
|
|
# outer join so missing rows appear
|
|
merged = df if merged is None else merged.merge(df, on=KEY, how="outer")
|
|
|
|
# replace nan with empty string
|
|
merged = merged.fillna("")
|
|
merged.to_markdown(sys.stdout, index=False, tablefmt="github")
|