r-将多个csv从web导入到一个数据帧中



我想从web上读取几个csv文件,并将数据保存到数据框中。如果这些文件在我的电脑上,这将非常容易,正如我所看到的,但我并不总是想下载这些文件。

示例:

"https://www.football-data.co.uk/mmz4281/1819/F1.csv",
"https://www.football-data.co.uk/mmz4281/1718/F1.csv",
"https://www.football-data.co.uk/mmz4281/1617/F1.csv",
"https://www.football-data.co.uk/mmz4281/1516/F1.csv",
"https://www.football-data.co.uk/mmz4281/1415/F1.csv",
"https://www.football-data.co.uk/mmz4281/1314/F1.csv",
"https://www.football-data.co.uk/mmz4281/1213/F1.csv",
"https://www.football-data.co.uk/mmz4281/1112/F1.csv",
"https://www.football-data.co.uk/mmz4281/1011/F1.csv"

这些是CSV文件。也许函数或循环是可能的,但我不知道怎么做。

也许你能帮我。

问候

从web上读取文件和从文件系统中读取文件一样简单;您可以将URL而不是文件路径传递给readr::read_csv()(您用readr标记了您的问题,所以我认为您想使用它(。

假设你的文件在一个向量中:

files <- c("https://www.football-data.co.uk/mmz4281/1819/F1.csv",
"https://www.football-data.co.uk/mmz4281/1718/F1.csv",
"https://www.football-data.co.uk/mmz4281/1617/F1.csv",
"https://www.football-data.co.uk/mmz4281/1516/F1.csv",
"https://www.football-data.co.uk/mmz4281/1415/F1.csv",
"https://www.football-data.co.uk/mmz4281/1314/F1.csv",
"https://www.football-data.co.uk/mmz4281/1213/F1.csv",
"https://www.football-data.co.uk/mmz4281/1112/F1.csv",
"https://www.football-data.co.uk/mmz4281/1011/F1.csv")

您可以使用readr::read_csv读取特定文件,并使用purrr::map_dfr:将它们组合为一个数据帧

df <- purrr::map_dfr(files, readr::read_csv)

这对files的内容进行迭代,将readr::read_csv应用于这些元素中的每一个,并将它们按行组合为一个数据帧(因此为dfr(。

最新更新