r语言 - 合并CSV数据帧



我在大约5个月前的项目开始时使用此代码将几个csv文件合并为一个文件。现在,我回来用一种不同的方式重新排序我的数据。但是,它现在拒绝简单地返回一个空数据集。

我正在运行R-Studio 4.2.0。控制台是否有更新导致我的代码无效?

我代码:


# Initilise Libraries
library("magrittr")
library("dplyr")                                                  
library("readr")
library("tidyverse")
library("reticulate")
library("purrr")
library("data.table")
library("jsonlite")

# combine all data sets (CSV Files). This will Store all files in list
data_all <- list.files(path = "C:\Users\Surface\Documents\FinalProject\Data\Sky_Data\csvData",    
pattern = "*.csv", full.names = TRUE) %>%

lapply(read_csv) %>%
bind_rows

然后我尝试独立地读取其中一个CSV文件:

df <- read.csv("C:\Users\Surface\Documents\FinalProject\Data\Sky_Data\csvData\bookmaker-data-10-01.csv")

现在从一个文件中读取数据,显示所讨论的文件位于指定的文件夹中。

根据注释,问题似乎是(常见的!)错误,*.csv选择文件夹中的所有csv文件。

.(和*)是特殊的正则表达式操作符,其中.表示"任意字符"。因此,像这样的文件notacsv.txt将匹配正则表达式*.csv(acsv将匹配正则表达式)。如果你想要一个点,你必须转义它。如果只想要扩展名为.csv的文件,请添加一个结束字符…如:.*\.csv$

我最终使用以下代码绕过了这个错误

path <- "C:\Users\Surface\Documents\FinalProject\Data\Sky_Data\csvData"
multmerge = function(path){
filenames=list.files(path=path, full.names=TRUE)
rbindlist(lapply(filenames, fread))
}
alldata <- multmerge(path)

然而,我仍然不确定最初的问题是什么

最新更新