r - R:“输入中没有可用的行”从目录中读取多个 csv 文件时出错
问题描述
我无法从目录中读取多个 .csv 文件。这很奇怪,因为我在运行此代码块之前使用相同的代码从其他两个目录中读取文件而没有问题。
setwd("C:\\Users\\User\\Documents\\College\\MLMLMasters\\Thesis\\TaggingEffectsData\\DiveStat")
my_dive <- list.files(pattern="*.csv")
my_dive
head(my_dive)
if(!require(plyr)){install.packages("plyr")}
DB = do.call(rbind.fill, lapply(my_dive, function(x) read.csv(x, stringsAsFactors = FALSE)))
DB
detach("package:plyr") ### I run this after I have finished creating all the dataframes because I sometimes have issues with plyr and dplyr not playing nice
if(!require(dplyr)){install.packages("dplyr")}
然后它抛出这个错误:
read.table 中的错误(file = file,header = header,sep = sep,quote = quote,:输入中没有可用的行
这没有任何意义,因为 list.files 函数有效,并且当我运行 head(my_dive) 时,我得到以下输出:
head(my_dive)
[1] "2004001_R881_TV3.csv" "2004002_R 57_TV3.csv" "2004002_R57_TV3.csv" "2004003_W1095_TV3.csv"
[5] "2004004_99AB_TV3.csv" "2004005_O176_TV3.csv"
另外,环境清楚地表明我的列表中填充了所有 614 个文件,正如我所期望的那样。
所有 csv 文件集都具有相同的文件名但不同的数据,因此必须将它们作为来自不同目录的单独数据框读取(不是我的决定,这正是该数据集的组织方式)。出于这个原因,我似乎无法弄清楚为什么这组文件让我感到悲伤,而其他两组文件读得很好,没有问题。唯一的区别应该是工作目录以及列表和数据框的名称。我认为它可能在实际目录中,但我检查了目录中只有 .csv 文件,并且 list.files 函数工作正常。我看到了一个与我的类似的先前问题,但发帖人最初没有使用 (pattern = "*.csv") 参数,这就是错误的原因。我总是使用这个论点,所以这似乎不太可能是原因。
我不确定如何使这个可复制,但我感谢提供的任何帮助。
解决方案
推荐阅读
- php - Symfony 4获取实体的约束返回空数组
- c# - 使用 C# 使用 NSUrlSession 的 HTTP POST 多部分表单数据
- javascript - 分享到 Whatsapp 的链接不显示元标记
- android - Android 在应用加载时强制更新位置 - fusedlocationproviderclient
- regex - Bash 从大文件中删除确切的行和字符数
- javascript - 在 React 的 chrome 扩展中切换组件的方法有哪些?
- sql - Sqlite:从具有多个条件的另一个表的多个列更新
- php - 在 PHP 中排列标头参数
- python - 使用 json.load() 加载 JSON 文件时出现 Python 解释器错误
- c# - 为什么我的程序在按钮单击后关闭?