[R] using paste and "\" to create a valid filename

Prof Brian Ripley ripley at stats.ox.ac.uk
Fri Aug 19 20:10:12 CEST 2005


On Fri, 19 Aug 2005, roger bos wrote:

> I was surprise myself that I was having problems, because I have been
> doing this for ahile, but I get erros with the RODBC connection.  For
> example,
>
> rankFile <- paste("R:\\New Ranks\\SMC\\SMC\\",rankDate,".xls", sep="")
> 			rankFile
> 			xls <- odbcConnectExcel(rankFile)
> 			xls
> 			rankFile <- "R:\New Ranks\SMC\SMC\20050818.xls"
> 			rankFile
> 			xls <- odbcConnectExcel(rankFile)
> 			xls
>
>
> You won't have my filename, but feel free to try it with any excel
> file you may have. Here is the R output.

Works for me:

> odbcConnectExcel("c:\\bdr\\hills.xls")
RODB Connection 1
Details:
   case=nochange
   DBQ=c:\bdr\hills.xls
   DefaultDir=c:\bdr
   Driver={Microsoft Excel Driver (*.xls)}
   DriverId=790
   MaxBufferSize=2048
   PageTimeout=5
> odbcConnectExcel("c:\bdr\hills.xls")
[1] -1
Warning messages:
1: [RODBC] ERROR: Could not SQLDriverConnect
2: ODBC connection failed in: odbcDriverConnect(con)

Please use / as the path separator and become less confused.


>> rankFile <- paste("R:\\New Ranks\\SMC\\SMC\\",rankDate,".xls", sep="")
>> rankFile
> [1] "R:\\New Ranks\\SMC\\SMC\\20050819.xls"
>> xls <- odbcConnectExcel(rankFile)
> Warning messages:
> 1: [RODBC] ERROR: Could not SQLDriverConnect
> 2: ODBC connection failed in: odbcDriverConnect(con)
>> xls
> [1] -1
>> rankFile <- "R:\New Ranks\SMC\SMC\20050818.xls"
>> rankFile
> [1] "R:New RanksSMCSMC¬50818.xls"
>> xls <- odbcConnectExcel(rankFile)
>> xls
> RODB Connection 15
> Details:
>  case=nochange
>  DBQ=R:New RanksSMCSMC¬50818.xls
>  DefaultDir=R:\NEW RANKS\SMC
>  Driver={Microsoft Excel Driver (*.xls)}
>  DriverId=790
>  MaxBufferSize=2048
>  PageTimeout=5
>>
>
> On 8/19/05, Uwe Ligges <ligges at statistik.uni-dortmund.de> wrote:
>> roger bos wrote:
>>
>>> Sometimes even the easy stuff is difficult (for me)... I want to get
>>> input from different places to paste together an excel filename (so
>>> you know I'm using windows) that I can open with RODBC.  I know about
>>> using double "\" since its an escape character, but I get either 2 or
>>> none, I can't get just one "\" where I need it.  See example code
>>> below.  I am using R 2.1.0, but plan to upgrade soon.  Thanks in
>>> advance to anyone who can help.
>>>
>>> Roger
>>>
>>>
>>> rankPath <- "R:\New Ranks\SMC\SMC"
>>> rankDate <- "20050819"
>>> rankFile <- paste(rankPath,rankDate,".xls", sep="")
>>> rankFile
>>> [1] "R:New RanksSMCSMC20050819.xls"
>>>
>>>
>>> rankPath <- "R:\\New Ranks\\SMC\\SMC"
>>> rankDate <- "20050819"
>>> rankFile <- paste(rankPath,rankDate,".xls", sep="")
>>> rankFile
>>> [1] "R:\\New Ranks\\SMC\\SMC20050819.xls"
>>
>>
>> This is perfect, "\" is *printed* escaped, hence for file access you can
>> perfectly use this character vector.
>>
>> Uwe Ligges
>>
>>
>>> ______________________________________________
>>> R-help at stat.math.ethz.ch mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>>
>>
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>

-- 
Brian D. Ripley,                  ripley at stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595


More information about the R-help mailing list