当 运行 R 程序时,如何停止 excel 显示带逗号的数字 'number stored as text'?

how can i stop excel showing 'number stored as text' for numbers with commas, when running R program?

我是 运行 这个 R 代码,excel 输出文件针对每个数字显示 'number stored as text' 警告框。我知道这是逗号造成的,但我想要逗号。

有没有办法停止显示这些警告框?

df1 <- data.frame(col_1 = c('1,000', '1,500', '5,000'))

wb <- createWorkbook()
sheet.name <- 'test'
addWorksheet(wb, sheet.name)

writeData(wb, sheet = sheet.name, df1)
saveWorkbook(wb, file = "Test.xlsx")

只需保存不带逗号的数字,然后设置选项以在 Excel 中显示逗号。您在 R 中将值作为字符串---而不是数字---。我认为您不能用逗号保存它们并同时将其作为数字。

但是,您可以在导出之前删除 R 中的逗号,并设置一个额外的样式选项以在 Excel:

中添加逗号
require("openxlsx")
df1 <- data.frame(col_1 = c("1,000", "1,500", "5,000"))

df1[, 1] <- as.numeric(gsub(",", "", df1[, 1]))
wb <- createWorkbook()
sheet.name <- 'test'
addWorksheet(wb, sheet.name)

writeData(wb, sheet = sheet.name, df1)

comma_thousand <- createStyle(numFmt = "COMMA")
addStyle(wb, sheet = sheet.name, style = comma_thousand, cols = 1, rows = seq(2, nrow(df1) + 1))
saveWorkbook(wb, file = "Test.xlsx", overwrite = TRUE)

我的行是 seq(2, nrow(df1) + 1) 因为你在 table.

中有一个 header

此处,df1[, 1] <- as.numeric(gsub(",", "", df1[, 1])) 用于在将数据帧保存为 xlsy 之前去掉逗号。您还可以使用其他功能。在 Rstudio 中,您的数据框在 运行 这一行之前和之后将如下所示:

Excel 中的输出如下所示:

所以基本上,在 R 中使用带逗号的值(无论出于何种原因),但在保存 xlsx 之前删除它们并使用我提供的代码来告诉 Excel 你想要这些值以逗号显示。