我有一个包含332个csv文件的文件夹.文件名如下001.csv,002.csv,003.csv,............,330.csv,331.csv,332.csv.所有文件具有相同数量的变量和相同的格式.
我需要读取一个数据帧中的所有文件.我一直在阅读每一个然后使用rbind,但这太麻烦了.
需要帮忙.
有很多关于如何读取多个CSV并将它们绑定到一个数据帧的文档.我有5000多个CSV文件需要读入并绑定到一个数据结构中.
特别是我在这里的讨论:使用rbind将多个.csv文件加载到R中的单个数据帧中的问题
奇怪的是,基础R比我尝试过的任何其他解决方案都要快得多.
这是我的CSV的样子:
> head(PT)
Line Timestamp Lane.01 Lane.02 Lane.03 Lane.04 Lane.05 Lane.06 Lane.07 Lane.08
1 PL1 05-Jan-16 07:17:36 NA NA NA NA NA NA NA NA
2 PL1 05-Jan-16 07:22:38 NA NA NA NA NA NA NA NA
3 PL1 05-Jan-16 07:27:41 NA NA NA NA NA NA NA NA
4 PL1 05-Jan-16 07:32:43 9.98 10.36 10.41 10.16 10.10 9.97 10.07 9.59
5 PL1 05-Jan-16 07:37:45 9.65 8.87 9.88 9.86 8.85 8.75 9.19 8.51
6 PL1 05-Jan-16 …
Run Code Online (Sandbox Code Playgroud) 如何正确构建lapply以从所有.csv文件中读取(从一个目录中),将所有列作为字符串加载,然后将它们绑定到一个数据框中.
每此,我有办法让所有加载并装订成数据帧该.csv文件.不幸的是,他们对这些列如何进行类型转换的可变性感到困惑.因此给我这个错误:
错误:无法在列中自动从字符转换为整数
我尝试用数据类型的参数补充代码,并试图将所有内容保存为字符; 我现在陷入困境,能够正确地获得我的'lapply'循环'以有效地引用其'循环'的每个循环的主题.
srvy1 <- structure(list(RESPONSE_ID = 584580L, QUESTION_ID = 328L, SURVEY_ID = 2324L,
AFF_ID_INV_RESP = 5L), .Names = c("RESPONSE_ID", "QUESTION_ID",
"SURVEY_ID", "AFF_ID_INV_RESP"), class = "data.frame", row.names = c(NA,
-1L))
srvy2 <- structure(list(RESPONSE_ID = 584580L, QUESTION_ID = 328L, SURVEY_ID = 2324L,
AFF_ID_INV_RESP = "bovine"), .Names = c("RESPONSE_ID", "QUESTION_ID",
"SURVEY_ID", "AFF_ID_INV_RESP"), class = "data.frame", row.names = c(NA,
-1L))
files = list.files(pattern="*.csv")
tbl = lapply(files, read_csv(files, col_types = cols(.default = col_character()))) %>% bind_rows
Run Code Online (Sandbox Code Playgroud)
是否有一个简单的解决方案,我可以保持整齐,或者我必须下降一个级别,然后自己公开构建for循环 …