My data exists as a tabbed spreadsheet, and I'm trying to write a script to import it.
library(readxl)
oput <- 0
tabnames <- excel_sheets("dataset.xlsx")
for(x in seq_along(tabnames)){
assign(tabnames[x], read_excel("dataset.xlsx", sheet = tabnames[x], col_names = TRUE)
}
This works, giving me multiple datasheets in the environment:
- tab1
- tab2 ...
What I would like to do is have these outputs as items in a list:
>oput
$tab1
[1] data1
$tab2
[1] data2
...
But I can't get this working properly
assign(oput[[x]], read_excel("dataset.xlsx", sheet = tabnames[x], col_names = TRUE)
and
assign(oput$x, read_excel("dataset.xlsx", sheet = tabnames[x], col_names = TRUE)
both give:
Error in assign(oput[[x]], read_excel("dataset.xlsx", :
invalid first argument
It's obviously an error on my part in identifying the sheetname variable.
What's the correct way of doing this, please?