【问题标题】:How to read in multi line excel cells into R如何将多行excel单元格读入R
【发布时间】:2019-01-03 14:19:00
【问题描述】:

我正在尝试将 excel 文件读入 R。数据格式如下:

如您所见,有些单元格包含多行信息。我正在使用这个 excel 文件并将其作为问题放在 R Shiny 上。 (作为单选按钮) 现在,如果我使用 read.xlsx 阅读它,我的行会被挤成一行。 如何在保留多行格式的情况下将文件读入 R?
如果我的问题只有一行,则很难阅读和理解。

【问题讨论】:

    标签: r shiny read.csv xlconnect r-xlsx


    【解决方案1】:

    您是否在单元格中使用公式?如果是,那么您需要在 excel 中打开和关闭文件以完成计算。如果您使用的是 windows,那么您也可以为此编写一个 vbs 脚本。

    【讨论】:

      【解决方案2】:

      虽然看起来 R 已经错过了换行符,但实际上并没有,它们仍然存在。 R 将它们标记为 \n,或者在您给出的示例的情况下(输入这些句子的人按两次 Enter 键,R 将有 \n\n)

      尝试使用以下方式写入数据:

      write.xlsx(yourdata, "test.xlsx", sheetName="sheet1", row.names=FALSE)
      

      会有换行符!

      额外说明:还有其他需要注意的事项。例如,当您编写 excel 文件时,默认行高是 excel 默认值 14.5(因此您只会看到第一行文本 - 记得增加大小以查看更多文本)。你也可以在写excel文件的时候设置行高

      【讨论】:

      • 另外,我认为如果您使用cat() 而不是print() 函数显示单元格的内容,\ns 将被正确解释。
      • 感谢大家的投入。所以我使用read.xlsx 读取文件,保留allowEscapes = T,然后尝试在闪亮的应用程序上显示它们。 Shiny 没有打印出换行符。我希望应用程序显示带有换行符的问题。
      • @SwastikMohapatra 我想知道您是否可以 gsub 某些 html 的换行符,例如将所有“\n”交换为“”(html 等效项)?可能值得一试
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      • 2017-08-07
      • 1970-01-01
      • 1970-01-01
      • 2015-12-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多