R语言中优雅转换文件路径的两种方法
在Windows下,你有没有这样一种困难?
假如有这样一个文件路径,C:\Users\公众号\统计与数据挖掘\taxsamp.csv
如果你直接使用R来读取,这必然会报错,因为R语言中只支持读取双反斜杠 “\\” 或者正斜杠"/"的文件路径。
上面那份文件还好,假如你的文件路径是这样的,就比较尴尬了:
C:\Users\公众号\统计与数据挖掘\file1\file2\file3\file4\taxsamp.csv
是的,你当然可以用手改成双反斜杠或者正斜杠,但是这样非常不利于装比。
在Python中,只需要在前面加个r便可,是不是羡慕了,确实,我羡慕了,Python真香。
下面,我介绍两种比较装比的方法,来优雅的实现R中文件路径转化。
首先,咱们需要去复制文件的绝对路径。咋复制呢?先说Windows10下两种复制文件绝对路径。
方法一:左键单击该文件,shift,然后右键,点击【复制为路径】即可。
然后就是这样的,"C:\Users\公众号\统计与数据挖掘\taxsamp.csv",注意哦,这是个字符串。
方法二:右键单击该文件,点击最下面的属性,点击最上面的安全,然后左键点击对象名称,右键全选。即可得到这个文件绝对路径的字符串。
这两种方法都需要你先去复制文件的绝对路径。
装比转换方法一:单反斜杠变双反斜杠
path<-scan(“clipboard”,what=“string”)#直接复制文件绝对路径的字符串就好了,这个函数会自动将单反斜杠给你转换成双斜杠,OK,然后就变成双斜杠了
read.csv(path)即可读取文件。
装比转化方法二:单反斜杠变正斜杠
path<-readline() #会弹出一个对话框,要你输入文件路径,不是文件路径的字符串哦。是这种,D:\ceshi.csv,而不是这种"D:\ceshi.csv",它也会给你转换成双反斜杠,此时已经可以读取了,但是多数人习惯将其转换为正斜杠。这样在Linux上也能继续正常运行。
path2<-gsub("\\\\","/",path)#第一个参数代表双反斜杠,第二个参数表示将其替换为什么,第三个是替换的对象。
read.csv(path2)即可。