在rbind中读取csv文件时遇到麻烦,“ rt”类错误

时间:2019-03-28 15:00:40

标签: r rbind

即使RStudio已经识别出文件,我还是很难从目录中获取文件

library(readr)
read.csv2(names)
list.files("C:\\Users\\consultor6\\Desktop\\PIBIC\\dados")

names = list.files("C:\\Users\\consultor6\\Desktop\\PIBIC\\dados")
lista = list()

lista[[1]] = read.csv2("201812_ESTBAN.CSV")

for(i in 2:length(names)) {

  lista[[i]] = read.csv2(names[i])

}

base = do.call(what = lista, args = rbind)

错误如下:

  

图书馆(读者)   read.csv2(名称)   file(file,“ rt”)中的错误:无效的'description'参数   list.files(“ C:\ Users \ consultor6 \ Desktop \ PIBIC \ dados”)     [1]“ 200701_ESTBAN.CSV”“ 200702_ESTBAN.CSV”“ 200703_ESTBAN.CSV”“ 200704_ESTBAN.CSV”     [5]“ 200705_ESTBAN.CSV”“ 200706_ESTBAN.CSV”“ 200707_ESTBAN.CSV”“ 200708_ESTBAN.CSV”     [9]“ 200709_ESTBAN.CSV”“ 200710_ESTBAN.CSV”“ 200711_ESTBAN.CSV”“ 200712_ESTBAN.CSV”    [13]“ 200801_ESTBAN.CSV”“ 200802_ESTBAN.CSV”“ 200803_ESTBAN.CSV”“ 200804_ESTBAN.CSV”    [17]“ 200805_ESTBAN.CSV”“ 200806_ESTBAN.CSV”“ 200807_ESTBAN.CSV”“ 200808_ESTBAN.CSV”    [21]“ 200809_ESTBAN.CSV”“ 200810_ESTBAN.CSV”“ 200811_ESTBAN.CSV”“ 200812_ESTBAN.CSV”    [25]“ 200901_ESTBAN.CSV”“ 200902_ESTBAN.CSV”“ 200903_ESTBAN.CSV”“ 200904_ESTBAN.CSV”    [29]“ 200905_ESTBAN.CSV”“ 200906_ESTBAN.CSV”“ 200907_ESTBAN.CSV”“ 200908_ESTBAN.CSV”    [33]“ 200909_ESTBAN.CSV”“ 200910_ESTBAN.CSV”“ 200911_ESTBAN.CSV”“ 200912_ESTBAN.CSV”    [37]“ 201001_ESTBAN.CSV”“ 201002_ESTBAN.CSV”“ 201003_ESTBAN.CSV”“ 201004_ESTBAN.CSV”    [41]“ 201005_ESTBAN.CSV”“ 201006_ESTBAN.CSV”“ 201007_ESTBAN.CSV”“ 201008_ESTBAN.CSV”    [45]“ 201009_ESTBAN.CSV”“ 201010_ESTBAN.CSV”“ 201011_ESTBAN.CSV”“ 201012_ESTBAN.CSV”    [49]“ 201101_ESTBAN.CSV”“ 201102_ESTBAN.CSV”“ 201103_ESTBAN.CSV”“ 201104_ESTBAN.CSV”    [53]“ 201105_ESTBAN.CSV”“ 201106_ESTBAN.CSV”“ 201107_ESTBAN.CSV”“ 201108_ESTBAN.CSV”    [57]“ 201109_ESTBAN.CSV”“ 201110_ESTBAN.CSV”“ 201111_ESTBAN.CSV”“ 201112_ESTBAN.CSV”    [61]“ 201201_ESTBAN.CSV”“ 201202_ESTBAN.CSV”“ 201203_ESTBAN.CSV”“ 201204_ESTBAN.CSV”    [65]“ 201205_ESTBAN.CSV”“ 201206_ESTBAN.CSV”“ 201207_ESTBAN.CSV”“ 201208_ESTBAN.CSV”    [69]“ 201209_ESTBAN.CSV”“ 201210_ESTBAN.CSV”“ 201211_ESTBAN.CSV”“ 201212_ESTBAN.CSV”    [73]“ 201301_ESTBAN.CSV”“ 201302_ESTBAN.CSV”“ 201303_ESTBAN.CSV”“ 201304_ESTBAN.CSV”    [77]“ 201305_ESTBAN.CSV”“ 201306_ESTBAN.CSV”“ 201307_ESTBAN.CSV”“ 201308_ESTBAN.CSV”    [81]“ 201309_ESTBAN.CSV”“ 201310_ESTBAN.CSV”“ 201311_ESTBAN.CSV”“ 201312_ESTBAN.CSV”    [85]“ 201401_ESTBAN.CSV”“ 201402_ESTBAN.CSV”“ 201403_ESTBAN.CSV”“ 201404_ESTBAN.CSV”    [89]“ 201405_ESTBAN.CSV”“ 201406_ESTBAN.CSV”“ 201407_ESTBAN.CSV”“ 201408_ESTBAN.CSV”    [93]“ 201409_ESTBAN.CSV”“ 201410_ESTBAN.CSV”“ 201411_ESTBAN.CSV”“ 201412_ESTBAN.CSV”    [97]“ 201501_ESTBAN.CSV”“ 201502_ESTBAN.CSV”“ 201503_ESTBAN.CSV”“ 201504_ESTBAN.CSV”   [101]“ 201505_ESTBAN.CSV”“ 201506_ESTBAN.CSV”“ 201507_ESTBAN.CSV”“ 201508_ESTBAN.CSV”   [105]“ 201509_ESTBAN.CSV”“ 201510_ESTBAN.CSV”“ 201511_ESTBAN.CSV”“ 201512_ESTBAN.CSV”   [109]“ 201601_ESTBAN.CSV”“ 201603_ESTBAN.CSV”“ 201604_ESTBAN.CSV”“ 201605_ESTBAN.CSV”   [113]“ 201606_ESTBAN.CSV”“ 201607_ESTBAN.CSV”“ 201608_ESTBAN.CSV”“ 201609_ESTBAN.CSV”   [117]“ 201610_ESTBAN.CSV”“ 201611_ESTBAN.CSV”“ 201612_ESTBAN.CSV”“ 201701_ESTBAN.CSV”   [121]“ 201702_ESTBAN.CSV”“ 201703_ESTBAN.CSV”“ 201704_ESTBAN.CSV”“ 201705_ESTBAN.CSV”   [125]“ 201706_ESTBAN.CSV”“ 201707_ESTBAN.CSV”“ 201708_ESTBAN.CSV”“ 201709_ESTBAN.CSV”   [129]“ 201710_ESTBAN.CSV”“ 201711_ESTBAN.CSV”“ 201712_ESTBAN.CSV”“ 201801_ESTBAN.CSV”   [133]“ 201802_ESTBAN.CSV”“ 201803_ESTBAN.CSV”“ 201804_ESTBAN.CSV”“ 201805_ESTBAN.CSV”   [137]“ 201806_ESTBAN.CSV”“ 201807_ESTBAN.CSV”“ 201808_ESTBAN.CSV”“ 201809_ESTBAN.CSV”   [141]“ 201810_ESTBAN.CSV”“ 201811_ESTBAN.CSV”“ 201812_ESTBAN.CSV”   名称= list.files(“ C:\ Users \ consultor6 \ Desktop \ PIBIC \ dados”)   lista = list()

     

lista [[1]] = read.csv2(“ 201812_ESTBAN.CSV”)   文件错误(文件,“ rt”):无法打开连接   另外:警告消息:   在file(file,“ rt”)中:     无法打开文件'201812_ESTBAN.CSV':没有这样的文件或目录

     

for(i in 2:length(names)){   +
  + lista [[i]] = read.csv2(名称[i])   +
  +}   文件错误(文件,“ rt”):无法打开连接   另外:警告消息:   在file(file,“ rt”)中:     无法打开文件“ 200702_ESTBAN.CSV”:没有这样的文件或目录

     

base = do.call(what = lista,args = rbind)   do.call(what = lista,args = rbind)中的错误:     塞贡多论据

我正在尝试堆叠143个excel文件,但是需要将前三行从矩阵2拖放到143

2 个答案:

答案 0 :(得分:1)

仅当您的工作目录设置适当时,您的read.csv2语句才起作用。此刻,您只是将文件名传递给函数,如果您的工作目录不是包含文件夹,则它将不起作用。

最简单的解决方案是在full.names = TRUE中使用list.files,其中包括文件的完整路径,相对于您当前的工作目录(如果适用)。

names定义更改为以下内容可以解决此问题:

names = list.files("C:\\Users\\consultor6\\Desktop\\PIBIC\\dados", full.names = TRUE)

答案 1 :(得分:0)

您的文件位于目录"C:\\Users\\consultor6\\Desktop\\PIBIC\\dados"中 并由list.files()正确找到。

但是,当您尝试读取文件时,却忘记添加此路径:

lista[[1]] = read.csv2("201812_ESTBAN.CSV")

因此read.csv2在当前工作目录中查找样本,但找不到它们(可以使用getwd()检查工作目录)。