使用 XLConnect 写入时如何删除字符 '?
How can I remove the character ' when writing with XLConnect?
我想将数据框导出到 xls 文件。我找到了 XLConnect 库,它很容易使用,但我不介意尝试其他东西。
我的问题出在输出(xls 文件)中。由于我的数据框包含 'A_B' 之类的字符串,因此输出在每个整数之前包含字符 '。这对我来说是个问题,因为我需要 OpenOffice 来检测带有整数的列,以便以后能够应用公式。
这是一个没有任何问题的小例子,意味着xls文件中的每个条目都是一个整数。
library(XLConnect)
test = as.data.frame(matrix(c(0,0),nrow=1),stringsAsFactors = FALSE)
wb =loadWorkbook('file.xls',create=TRUE)
createSheet(wb, name = "test")
writeWorksheet(wb,test,'test',header=FALSE)
saveWorkbook(wb)
问题出现在下面的例子中。
library(XLConnect)
test = as.data.frame(matrix(c(0,'A_B'),nrow=1),stringsAsFactors = FALSE)
wb =loadWorkbook('file.xls',create=TRUE)
createSheet(wb, name = "test")
writeWorksheet(wb,test,'test',header=FALSE)
saveWorkbook(wb)
在最后一个示例中,xls 文件中的第一个条目是“0”,在 OpenOffice 中未将其检测为整数。
有没有办法从输出数据中删除字符 '?
谢谢
在 XLConnect 中,data.frame
的列类型决定了生成的单元格类型。例如。 character
列生成 string/text 个单元格,而 numeric
列生成数字单元格。
在您的示例中,表达式 c(0, 'A_B')
生成 character
向量(R 自动将您的 0
强制转换为 character
),因此写入的结果单元格将成为 string/text 个细胞(参见 str(test)
来调查您的 data.frame
)。因此,您只需以不同的方式构建 data.frame
就可以了,例如通过执行以下操作:
test = data.frame(NumericColumn = 0, TextColumn = "A_B", stringsAsFactors = FALSE)
str(test)
查看 str(test)
的输出,您现在应该看到 "NumericColumn" 是一个 numeric
列,而 "TextColumn" 是一个 character
列。使用 XLConnect 编写 data.frame
时,您会看到生成的单元格将具有适当的单元格类型。
我想将数据框导出到 xls 文件。我找到了 XLConnect 库,它很容易使用,但我不介意尝试其他东西。
我的问题出在输出(xls 文件)中。由于我的数据框包含 'A_B' 之类的字符串,因此输出在每个整数之前包含字符 '。这对我来说是个问题,因为我需要 OpenOffice 来检测带有整数的列,以便以后能够应用公式。
这是一个没有任何问题的小例子,意味着xls文件中的每个条目都是一个整数。
library(XLConnect)
test = as.data.frame(matrix(c(0,0),nrow=1),stringsAsFactors = FALSE)
wb =loadWorkbook('file.xls',create=TRUE)
createSheet(wb, name = "test")
writeWorksheet(wb,test,'test',header=FALSE)
saveWorkbook(wb)
问题出现在下面的例子中。
library(XLConnect)
test = as.data.frame(matrix(c(0,'A_B'),nrow=1),stringsAsFactors = FALSE)
wb =loadWorkbook('file.xls',create=TRUE)
createSheet(wb, name = "test")
writeWorksheet(wb,test,'test',header=FALSE)
saveWorkbook(wb)
在最后一个示例中,xls 文件中的第一个条目是“0”,在 OpenOffice 中未将其检测为整数。
有没有办法从输出数据中删除字符 '?
谢谢
在 XLConnect 中,data.frame
的列类型决定了生成的单元格类型。例如。 character
列生成 string/text 个单元格,而 numeric
列生成数字单元格。
在您的示例中,表达式 c(0, 'A_B')
生成 character
向量(R 自动将您的 0
强制转换为 character
),因此写入的结果单元格将成为 string/text 个细胞(参见 str(test)
来调查您的 data.frame
)。因此,您只需以不同的方式构建 data.frame
就可以了,例如通过执行以下操作:
test = data.frame(NumericColumn = 0, TextColumn = "A_B", stringsAsFactors = FALSE)
str(test)
查看 str(test)
的输出,您现在应该看到 "NumericColumn" 是一个 numeric
列,而 "TextColumn" 是一个 character
列。使用 XLConnect 编写 data.frame
时,您会看到生成的单元格将具有适当的单元格类型。