R / Excel:前导零

时间:2014-06-04 16:49:48

标签: r excel formatting

我正在尝试使用xlsxXLConnect包将Excel 2010工作簿文件中的工作表读入R中。尽管将工作表中的单元格格式化为' Text'。

,两者都会在邮政编码列上删除前导零。
wb <- loadWorkbook('c:/~/file1.xlsx')
sheetNames <- getSheets(wb)

for(i in 1:length(sheetNames)){  # i = 2
    #dat1 <- read.xlsx('c:/~/file1.xlsx', sheetNames[i], as.data.frame = T)
    dat1 <-  readWorksheetFromFile('c:/~/file1.xlsx', sheetNames[i])
}

有没有人有关于如何处理此问题的建议?

2 个答案:

答案 0 :(得分:1)

您也可以使用sprintf

解决此问题
# some example data
x <- c(225,4867,52,15732,9514,78142)
# getting the leading zero's back
x <- sprintf("%05s", x)

> x
[1] "00225" "04867" "00052" "15732" "09514" "78142"

答案 1 :(得分:1)

您可以使用参数readWorksheet()将列类型指定为readWorksheetFromFile()colType = ...的参数。

例如,要将所有列读作字符,请使用:

readWorkSheet(..., colType="character")