{"id":18174450,"url":"https://github.com/Bisaloo/xlcutter","last_synced_at":"2025-04-01T15:31:31.491Z","repository":{"id":64216734,"uuid":"574159970","full_name":"Bisaloo/xlcutter","owner":"Bisaloo","description":"Parse Batches of 'xlsx' Files Based on a Template","archived":false,"fork":false,"pushed_at":"2024-02-10T12:14:54.000Z","size":4719,"stargazers_count":7,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-31T23:41:55.445Z","etag":null,"topics":["data-extraction","excel","non-rectangular-data","r","r-package","tidy-data"],"latest_commit_sha":null,"homepage":"https://hugogruson.fr/xlcutter/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Bisaloo.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":"codemeta.json"}},"created_at":"2022-12-04T16:01:40.000Z","updated_at":"2024-08-30T00:26:57.000Z","dependencies_parsed_at":"2024-01-01T06:06:38.720Z","dependency_job_id":"657dab11-6c2d-4d9a-a6fd-2a3ba8276d2d","html_url":"https://github.com/Bisaloo/xlcutter","commit_stats":{"total_commits":36,"total_committers":1,"mean_commits":36.0,"dds":0.0,"last_synced_commit":"e111281a441f7b68d0ecd964409b52ec206a6c8c"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":"epiverse-trace/packagetemplate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bisaloo%2Fxlcutter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bisaloo%2Fxlcutter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bisaloo%2Fxlcutter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bisaloo%2Fxlcutter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bisaloo","download_url":"https://codeload.github.com/Bisaloo/xlcutter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246662357,"owners_count":20813737,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data-extraction","excel","non-rectangular-data","r","r-package","tidy-data"],"created_at":"2024-11-02T16:03:07.261Z","updated_at":"2025-04-01T15:31:30.774Z","avatar_url":"https://github.com/Bisaloo.png","language":"R","funding_links":[],"categories":["R"],"sub_categories":[],"readme":"---\noutput: github_document\n---\n\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r, include = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"man/figures/README-\",\n  out.width = \"100%\"\n)\n```\n\n# xlcutter\n\n\u003c!-- badges: start --\u003e\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/license/mit/)\n[![R-CMD-check](https://github.com/Bisaloo/xlcutter/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/Bisaloo/xlcutter/actions/workflows/R-CMD-check.yaml)\n[![Codecov test coverage](https://codecov.io/gh/Bisaloo/xlcutter/branch/main/graph/badge.svg)](https://app.codecov.io/gh/Bisaloo/xlcutter?branch=main)\n[![lifecycle-concept](https://raw.githubusercontent.com/reconverse/reconverse.github.io/master/images/badge-concept.svg)](https://www.reconverse.org/lifecycle.html#concept)\n\u003c!-- badges: end --\u003e\n\nThis package allows you to parse entire folders of non-rectangular 'xlsx' files\ninto a single rectangular and tidy 'data.frame' based on a custom template file\ndefining the column names of the output.\n\n## Installation\n\nYou can install the latest stable version of this package from CRAN:\n\n``` r\ninstall.packages(\"xlcutter\")\n```\n\nor the development version from [GitHub](https://github.com/) with:\n\n``` r\n# install.packages(\"remotes\")\nremotes::install_github(\"Bisaloo/xlcutter\")\n```\n\n## Example\n\nNon-rectangular excel files are common in many domains. For a simple\ndemonstration here, we use the example of the [\"Blue\ntimesheet\"](https://templates.office.com/en-us/blue-timesheet-tm77799521) from\n\u003chttps://templates.office.com/\u003e, where employees can log their working hours.\n\nA typical use case of xlcutter in this example would be for a manager who want\nto get a single rectangular dataset with the timesheets from different\nemployees.\n\n![Screenshot of timesheets from two fictitious employees](man/figures/screenshot_timesheets.png)\n\nYour first step to extract the data is to define the various columns you want\nin the output in a *template* file. You can mark the data cells to extract with\nany custom marker, with the default being `{{ column_name }}`.\n\n![Screenshot of a template for the timesheet example](man/figures/screenshot_template.png)\n\n```{r}\nlibrary(xlcutter)\n\ndata_files \u003c- list.files(\n  system.file(\"example\", \"timesheet\", package = \"xlcutter\"),\n  pattern = \"\\\\.xlsx$\",\n  full.names = TRUE\n)\n\ntemplate_file \u003c- system.file(\n  \"example\", \"timesheet_template.xlsx\",\n  package = \"xlcutter\"\n)\n\nxlsx_cutter(\n  data_files,\n  template_file\n)\n```\n\n## Other example of use cases\n\nOther typical use cases for this package could be:\n\n- an hospital that wants to collate non-rectangular information sheets from\ndifferent patients into a single rectangular dataset\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBisaloo%2Fxlcutter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBisaloo%2Fxlcutter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBisaloo%2Fxlcutter/lists"}