在R中导入ODS文件的所有工作表,保留工作表的名称
我有这个LibreOffice计算(在R中导入ODS文件的所有工作表,保留工作表的名称,r,list,dplyr,purrr,ods,R,List,Dplyr,Purrr,Ods,我有这个LibreOffice计算(.ods)文件() 我想导入此文档的所有页面。在导入中,我将创建一个列表,其中列表的每个元素都是一张表。我希望列表元素的名称保留ODS文件中工作表的原始名称 我创建了以下代码: library(readODS) library(dplyr) library(purrr) library(tidyr) path <- "example.ods" mylist <- path %>% ods_sheets()
.ods
)文件()
我想导入此文档的所有页面。在导入中,我将创建一个列表,其中列表的每个元素都是一张表。我希望列表元素的名称保留ODS文件中工作表的原始名称
我创建了以下代码:
library(readODS)
library(dplyr)
library(purrr)
library(tidyr)
path <- "example.ods"
mylist <- path %>%
ods_sheets() %>%
set_names() %>%
map(read_ods, skip = 1, path = path)
我如何解决这个问题来创建一个包含命名为原始表的元素的列表?由于我不愿意从Google Drive下载一个随机文件,我为此设置了自己的示例ODS文件,其中有两个表,“foo”和“bar”,如下所示:
foo
a b
1 2
3 4
bar
a b
7 6
5 4
因此,您的代码有一些问题。第一个错误是,您需要两个参数来设置\u name()。这里的另一个问题是,您没有为map()
同时指定.x
和.f
。我们可以通过如下中间赋值步骤解决这些问题:
library(readODS)
library(dplyr)
library(purrr)
library(tidyr)
path <- "test.ods"
sheets <- ods_sheets(path)
mylist <- map(seq_along(sheets), read_ods, path = path) %>%
set_names(sheets)
mylist
$foo
a b
1 1 2
2 3 4
$bar
a b
1 7 6
2 5 4
库(readODS)
图书馆(dplyr)
图书馆(purrr)
图书馆(tidyr)
路径
library(readODS)
library(dplyr)
library(purrr)
library(tidyr)
path <- "test.ods"
sheets <- ods_sheets(path)
mylist <- map(seq_along(sheets), read_ods, path = path) %>%
set_names(sheets)
mylist
$foo
a b
1 1 2
2 3 4
$bar
a b
1 7 6
2 5 4