打印双引号时避免在paste0中转义字符

阿拉尼

我正在编写一个脚本,以便使用writeFormula将公式输入到openxlsx Excel工作表中。对于该函数,我需要指定一个长度等于单元格数量的公式向量。

这是我正在尝试做的事情:

for(i in 2:(nrow(data)+1)){formula_dep<-append(formula_dep, paste0("IFERROR(SEARCH(\"pack\",H",i,"))"))}
writeFormula(wb=file, sheet="data", x=formula_dep, startCol=9, startRow=2)

在输出中,转义字符可能已被打印到excel工作表中,因此它已损坏(我必须修复以打开该文件,该文件中没有任何内容)。

在R中,输出为(通常):

"IFERROR(SEARCH(\"pack\",H2))"

尽管在其他许多任务中转义字符不是问题,但在这一任务中,我无法完成这项工作。我不能使用单引号,因为某些未知原因,Excel不允许在FIND或SEARCH函数中使用单引号(可能是正则表达式问题)。请在此处提供解决方案的帮助。

注意:我不能仅仅在数据框本身中灌入公式(使用R公式),因为它应该可以在excel文件本身中的用户输入上使用。

我愿意从Excel方面(在做相同的事情时更改公式)或从R方面接受解决方案。

zx8754

"\"不存在,仅表明print正在转义",请参见:

cat("IFERROR(SEARCH(\"pack\",H2))")
# IFERROR(SEARCH("pack",H2))

这是一个工作示例:

library(openxlsx)

wb <- createWorkbook()
addWorksheet(wb, "Sheet 1")

df <- data.frame(
  a = letters[1:3],
)

writeData(wb, sheet = 1, x = df)

f <- paste0("FIND(\"b\",A", seq(nrow(df)) + 1L, ")")

f[ 1 ]
#[1] "FIND(\"b\",A2)"

cat(f[ 1 ])
# FIND("b",A2)

writeFormula(wb, sheet ="Sheet 1", x = f, startCol = 2, startRow = 2)

saveWorkbook(wb, "writeFormulaExample.xlsx", overwrite = TRUE)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

避免在字符串中转义双引号

来自分类Dev

kdb:避免在字符串中转义双引号

来自分类Dev

在Linux中的Perl中转义双引号

来自分类Dev

使用 paste0 时转义斜线

来自分类Dev

如何避免在双引号字符串中打印变量

来自分类Dev

如何在bash脚本中转义双引号字符串中的单引号?

来自分类Dev

在Power-Shell中转义双引号字符时如何处理空格键

来自分类Dev

在Ruby中转义双引号

来自分类Dev

在变量中转义双引号

来自分类Dev

在 .csv 中转义双引号

来自分类Dev

在速度中转义双引号

来自分类Dev

不要在字符串中转义双引号

来自分类Dev

Java - '\' 未用于在字符串中转义双引号 "

来自分类Dev

Java-从文件中转义字符串中的双引号

来自分类Dev

如何在Java中的JSON解析器的字符串中转义双引号

来自分类Dev

Kognitio中的转义双引号字符

来自分类Dev

在shell脚本中的变量中转义双引号

来自分类Dev

在包含单引号和双引号的字符串中转义单引号

来自分类Dev

使用Regex [JS]在双引号中转义双引号

来自分类Dev

在golang exec中转义双引号

来自分类Dev

在shell脚本的变量中转义双引号

来自分类Dev

Grails-在参数中转义双引号

来自分类Dev

在Fuseki SPARQL查询中转义双引号?

来自分类Dev

在bash脚本中转义双引号

来自分类Dev

在动态rsync命令中转义双引号

来自分类Dev

在Gracenote GNSDK脚本中转义双引号

来自分类Dev

在命令替换中转义双引号

来自分类Dev

如何在terraform中转义双引号?

来自分类Dev

在 Windows 命令中转义双引号