使用read_excel在R中导入Excel工作表时在单元格中进行公式评估

时间:2018-11-11 13:48:24

标签: r

我想使用read_excel(将一些测量值通过仪器测量,某些参数使用其他测量值计算,因此在某些单元格中具有许多公式)将一些excel文件导入R。一次导入所有文件,但是当我导入文件时,我发现具有公式的单元格为0,因此不会对其进行评估。

基本代码是:

library(readxl)
readxl_6800 <- function(path, name_rows = 42, data_rows = 43){
  data_name <- read_excel(path, range= cell_rows(name_rows))
  df <- read_excel(path, skip = data_rows, col_names = FALSE)
  colnames(df) <- colnames((data_name))
  return (df) 
} 
df

结果是:

# A tibble: 360 x 10
obs        time elapsed date                 TIME     E     A    Ca    Ci   Pci
 <dbl>       <dbl>   <dbl> <chr>               <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1     1 1500971222.       0 20170725 16:27~    1.50e9     0     0     0     0     0
3     3 1500971224.       2 20170725 16:27~    1.50e9     0     0     0     0     0
4     4 1500971224.       3 20170725 16:27~    1.50e9     0     0     0     0     0
5     5 1500971226.       4 20170725 16:27~    1.50e9     0     0     0     0     0

零值应大于零。

示例excel可以从以下位置下载:

example file

如何以这种形式导入具有评估公式的excel?有什么建议吗?

我不想用R重写这些公式,因为它将在R中添加很多代码,这是最后的选择。

1 个答案:

答案 0 :(得分:0)

我搜索了同样的问题,谷歌将我带到这里。而且,我碰巧发现我们实际上正在处理来自LICOR机器的相同类型的excel文件...
如果有人遇到相同的问题,我发现它可能与Excel Options-Enable iterative calculation有关。我的解决方案是,打开文件,选择“启用迭代计算”,保存文件,然后再次在R中执行read_excel(),然后得到正确的数据。