Problem
#19 requests a one-line fd.clean_csv(). Excel exports are just as common a "messy source" and share the same shape, so an fd.clean_excel() companion is a natural follow-up.
Depends on #19 — the clean_csv API decision should land first so the two stay consistent. Labeled needs maintainer decision for that reason.
Expected outcome
fd.clean_excel(path, ...) mirroring fd.clean_csv, reusing the same cleaning path, returning cleaned data (+ optional report).
Relevant files
src/freshdata/api.py
- docs (quickstart / api-reference)
tests/
Acceptance criteria
Difficulty / skills
🚀 junior–mid — pandas IO (read_excel), API design.
Problem
#19 requests a one-line
fd.clean_csv(). Excel exports are just as common a "messy source" and share the same shape, so anfd.clean_excel()companion is a natural follow-up.Expected outcome
fd.clean_excel(path, ...)mirroringfd.clean_csv, reusing the same cleaning path, returning cleaned data (+ optional report).Relevant files
src/freshdata/api.pytests/Acceptance criteria
.xlsxfixture through cleaning.clean_csv(confirmed against [Enhancement - Junior Level] Add fd.clean_csv() for one-line CSV cleanup #19).Difficulty / skills
🚀 junior–mid — pandas IO (
read_excel), API design.