读取Excel单元格注释/注释并写入r数据框列
问题:我需要在excel工作簿中读取数据单元格的注释/注释,将其作为R中自己的数据列 我已经找到了使用Tidyxl包的方法,但在加载数据时无法使脚本正常工作 我已经启动了一个GitHub线程来引用输入数据、Rscript,希望最终产品是这样的:读取Excel单元格注释/注释并写入r数据框列,r,excel,R,Excel,问题:我需要在excel工作簿中读取数据单元格的注释/注释,将其作为R中自己的数据列 我已经找到了使用Tidyxl包的方法,但在加载数据时无法使脚本正常工作 我已经启动了一个GitHub线程来引用输入数据、Rscript,希望最终产品是这样的: 我认为任何现有的r软件包都无法解决这一问题,您最好采用VBA解决方案,如以下解决方案,将注释放入单元格: Sub-CommentToCell() '循环浏览activesheet中的所有注释 对于ActiveSheet.Comments中的每个cmt
我认为任何现有的r软件包都无法解决这一问题,您最好采用
VBA
解决方案,如以下解决方案,将注释放入单元格:
Sub-CommentToCell()
'循环浏览activesheet中的所有注释
对于ActiveSheet.Comments中的每个cmt
'将注释文本打印到单元格中
cmt.Parent=cmt.Text
下一个cmt
端接头
我认为Tidyxl
软件包具有导入注释的功能,它记录在:
库(tidyxl)
path的xlsx
包也支持这一点
library(xlsx)
library(tidyverse)
wb <- xlsx::loadWorkbook(file = 'test_data_30oct2020 (1).xlsx')
sheets <- getSheets(wb)
sheet <- sheets[[1]]
rows <- getRows(sheet)
cells <- getCells(rows)
comments <- lapply(cells, getCellComment)
read_comments <- comments %>%
purrr::discard(is.null)
resp <- vector('list')
for (i in seq_along(read_comments)) {
resp[[i]] <- read_comments[[i]]$getString()
}
resp
库(xlsx)
图书馆(tidyverse)
wb包含注释的单元格是否包含任何其他数据
。i、 e您想用注释替换单元格内容吗?带有注释的单元格中包含相关信息,因此我需要单元格内容和单元格注释。这是我的担心,我感谢您的快速响应!您是否在同一列中有注释,即您有一列有注释,这是可能的。牛定期称重,因此称重日期作为单独的列输入excel,一张excel表格(5月1日,6月1日),一年一张工作簿。Steer ID也是一个单独的列,因此如果在6月1日称重样品Steer 1,5,9有需要记录的问题。他们在包含其重量记录的单元格中将该信息记录为注释/列。您似乎创建了一个单独的带有文件的分支。当我运行脚本时,收到以下错误:错误:“xlsx”的包或命名空间加载失败:。对于“rJava”,loadNamespace()中的onLoad失败,详细信息:call:fun(libname,pkgname)错误:软件/JavaSoft注册表中没有CurrentVersion条目!请尝试重新安装Java,并确保R和Java具有匹配的体系结构。@melCGS您需要安装Java,然后安装rJava软件包。不幸的是,我工作的人不允许员工下载新的/更新的软件……在IT人员回来工作之前,此回答线程必须处于待机状态。谢谢是的,根据您的设置,让R和java玩得好可能会很棘手。
# A tibble: 16 x 21
comment Past Section Treatment ID `Tag Color` Owner notes
<chr> <chr> <chr> <chr> <dbl> <chr> <chr> <lgl>
1 NA 15E E moderate 7 Black John NA
2 NA 15E E moderate 9 Black John NA
3 NA 15E E moderate 10 Black John NA
4 "Johns… 15E E moderate 20 Black John NA
5 "Johns… 15E E moderate 20 Black John NA
6 "Johns… 15E E moderate 20 Black John NA
7 NA 23E E heavy 33 Black Bob NA
8 "Johns… 23E E heavy 36 Black Bob NA
9 "Johns… 23E E heavy 36 Black Bob NA
10 NA 23E E heavy 39 Black Bob NA
11 NA 23E E heavy 49 Black Bob NA
12 "Johns… 23W W light 57 Black Cher… NA
13 NA 23W W light 58 Black Cher… NA
14 "Mary … 23W W light 61 Black Cher… NA
15 "Mary … 23W W light 61 Black Cher… NA
16 "Mary … 23W W light 61 Black Cher… NA
# A tibble: 9 x 2
comment address
<chr> <chr>
1 "Johnston, Melissa - ARS:\r\nTest Note" 2003-4
2 "Johnston, Melissa - ARS:\r\nAnother stupid note" 2003-6
3 "Johnston, Melissa - ARS:\r\nsilly steer note" 2003-9
4 "Mary Ashby:\r\nNo wt. - in 15SW" 2003-11
5 "Johnston, Melissa - ARS:\r\nTest Note" 2002-4
6 "Johnston, Melissa - ARS:\r\nAnother stupid note" 2002-6
7 "Mary Ashby:\r\nNo wt. - in 15SW" 2002-11
8 "Johnston, Melissa - ARS:\r\nTest Note" 2001-4
9 "Mary Ashby:\r\nNo wt. - in 15SW" 2001-11
library(xlsx)
library(tidyverse)
wb <- xlsx::loadWorkbook(file = 'test_data_30oct2020 (1).xlsx')
sheets <- getSheets(wb)
sheet <- sheets[[1]]
rows <- getRows(sheet)
cells <- getCells(rows)
comments <- lapply(cells, getCellComment)
read_comments <- comments %>%
purrr::discard(is.null)
resp <- vector('list')
for (i in seq_along(read_comments)) {
resp[[i]] <- read_comments[[i]]$getString()
}
resp