数据导入和文本到列(当在 excel A1 = 1+1+1 和 3 可见时)

Data import and text to column (when in excel A1 = 1+1+1 and 3 is visible)

假设我们有 excel 文件,在 A1 中我们有公式 = 1+1+1。因此 excel 显示 3,但是您可以执行 'Text to Columns' 并且值 1 将在 A1、B1 和 C1 中。

数据导入后我们可以在 R 中做些什么(我使用 read.xlsx)以获得相同的结果(1,1,1 而不是 3)?

确认一下,原来的 df 是 1x1,值为 3,期望的结果是 df 1x3,所有 3 个单元格中都为 1 .

不是完整答案,但应该可以帮助您入门。如果我们有这个示例文件:

我们可以使用openxlsx包得到公式:

library(openxlsx)

# read as workbook object
wb <- loadWorkbook("test.xlsx")

# get the 1st sheet
sheet1 <- wb$worksheets[[1]]

# get the cell formulas
sheet1$sheet_data$f
# [1] NA             "<f>1+1+1</f>" NA

这里,我们可以看到公式,sheet1$sheet_data$f中的第二项。意思是第一列第二行。剩下的工作是将其解析为 data.frame 列。