将多个 csv 从网络导入到一个数据框中

import multiple csv from web into one data frame

我想从网上读取几个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 而不是 file-path 传递给 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读取特定文件,并将它们合并为一个data-frame和purrr::map_dfr:

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

这会遍历 files 的内容,将 readr::read_csv 应用于每个元素,并将它们按行组合到一个数据框中(因此 dfr)。