我想从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
(。