大家好我在尝试使用RODBC软件包读取R中的excel文件时遇到问题:
c1 c2 c3
A 123 08
B 12 09
C 111 07
D 111 08
我用来读取具有该结构的excel文件的代码是:
library(RODBC)
Base="R04.xlsx"
conexion=odbcConnectExcel2007(Base)
Data=sqlQuery(channel=conexion,"select * from [Hoja1$]",as.is=TRUE)
close(conexion)
但是我在R中得到了这个:
c1 c2 c3
A 123 8
B 12 9
C 111 7
D 111 8
事实是c3
是一个代码,我需要前面的零。当我保存文件并在excel中打开时,同样的情况发生,零已消失。我是如何在R和RODBC包中制作的。有可能的。感谢。
答案 0 :(得分:0)
您必须强制列为字符,而不是数字,因为后者将被读入数字或整数类型,显示时不带前导零。
你可以在事后改变它:
R> sprintf("%02d", c(8,9,7,8))
[1] "08" "09" "07" "08"
R>
答案 1 :(得分:0)
您需要将列c3中的单元格格式化为文本而不是数字。选择单元格,然后右键单击“格式化单元格”,选择“文本”,然后单击“确定”。然后,您可能需要重新编辑单元格以添加前导0并重新保存文件。
之后你的R代码工作,我只是测试了它:
> sqlQuery(channel=conn,"select * from [Sheet1$]", as.is=TRUE)
c1 c2 c3
1 A 123 08
2 B 12 09
3 C 111 07
4 D 111 08