rush run -o sales.xlsx 'data.frame(product = c("Widget", "Gadget", "Doohickey"), q1 = c(100, 250, 75), q2 = c(120, 200, 90), q3 = c(150, 180, 110))'
rush run 'df' sales.xlsx
#> product,q1,q2,q3
#> Widget,100,120,150
#> Gadget,250,200,180
#> Doohickey,75,90,110Excel / ODS
Excel
Files ending in .xlsx or .xls are read with readxl. Write Excel files with -O xlsx or by naming the output .xlsx.
Reading
--input-sheet
Select a specific sheet by name or index:
rush run --input-sheet 1 'names(df)' sales.xlsx
#> product
#> q1
#> q2
#> q3Writing
rush run -o summary.xlsx 'df |> dplyr::mutate(total = q1 + q2 + q3)' sales.xlsx
rush run 'df' summary.xlsx
#> product,q1,q2,q3,total
#> Widget,100,120,150,370
#> Gadget,250,200,180,630
#> Doohickey,75,90,110,275Converting CSV to Excel
rush convert -o penguins.xlsx penguins.csv
rush run 'nrow(df)' penguins.xlsx
#> 333ODS (OpenDocument Spreadsheet)
Files ending in .ods are read and written with readODS:
Reading
rush run -n 'head(df)' data.ods
#> #!/usr/bin/env -S ir run
#> #| packages:
#> #| - rush
#>
#> rush::init(
#> dpi = 300L
#> )
#>
#> dfs <- list()
#> dfs[["data"]] <- rush::read("data.ods")
#> df <- dfs[[1]]
#> result <- head(df)
#>
#> rush::write(result)Writing
rush run -n -o output.ods 'df' data.csv
#> #!/usr/bin/env -S ir run
#> #| packages:
#> #| - rush
#>
#> rush::init(
#> output = "output.ods",
#> output_format = "ods",
#> dpi = 300L
#> )
#>
#> dfs <- list()
#> dfs[["data"]] <- rush::read("data.csv")
#> df <- dfs[[1]]
#> result <- df
#>
#> rush::write(result)