【问题标题】:R > openxlsx::read.xlsx treats values and formulae differentlyR > openxlsx::read.xlsx 以不同的方式处理值和公式
【发布时间】:2021-07-09 04:22:38
【问题描述】:

在 R 中使用 openxlsx::read.xlsx 时,我得到不同的结果,读取 Excel 文件中的值与读取公式。

如果您在单元格 A1:A3 中使用以下公式将 xlsx 工作簿保存为“test.xlsx”:

A
Col1
A & B
=A2

然后在 R 中:

library(openxlsx)
library(tibble)
my_file <- openxlsx::read.xlsx('test.xlsx')
tibble::view(my_file)

然后你应该看到:

Col1
A &amp;amp; B
A &amp;amp; B

有谁知道如何将&amp;amp; 改回&amp;(不修改原来的xlsx)?

非常感谢

【问题讨论】:

    标签: r


    【解决方案1】:

    使用dplyrstringr可以修改“&”,该“&”是通过read.xlsx读取文件的excel公式生成的

    library(openxlsx)
    
    library(dplyr)
    library(stringr)
    
    read.xlsx("test.xlsx") %>% 
      mutate(Col1 = str_replace(Col1, "&amp;", "&"))
    #>    Col1
    #> 1 A & B
    #> 2 A & B
    
    

    您也可以使用readxl 读取文件来完全避免此问题。

    library(readxl)
    
    read_xlsx('test.xlsx')
    #> # A tibble: 2 x 1
    #>   Col1 
    #>   <chr>
    #> 1 A & B
    #> 2 A & B
    

    reprex package (v2.0.0) 于 2021-07-08 创建

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-04
      • 2018-10-02
      • 1970-01-01
      • 1970-01-01
      • 2019-01-09
      • 2013-05-26
      相关资源
      最近更新 更多