This is how csv_file object created below looks like on the console panel我有几个csv文件在谷歌驱动器,我想附加为一个 Dataframe witout下载这些文件在我的本地计算机。
通常,当我从本地计算机调用多个文件时,我使用以下代码,其中list.files将所有这些csv文件放在一个列表中,然后map_df从列表中的所有这些文件中创建一个框架。
hourly.files <- list.files(path = "Folder_path_withCSV_files",
pattern = "*.csv",
full.names = T)%>%
map_df(~read_csv(., col_types = cols(.default = "c"))) #makes one dataframe
我想做同样的事情,但在这种情况下,文件更多,并在一个共享的谷歌驱动器。使用Google Drive:
folder_url <- "https://drive.google.com/folder/directory" #path to the files
folder <- drive_get(as_id(folder_url)) #folder id
csv_files <- drive_ls(folder, type = "csv") #makes a list of with all the csv files
然后,我尝试使用以下代码创建一个dataframe:create.df <- map_df(~read_csv(csv_files$id, col_types = cols(.default = "c")))
但得到以下错误:as_mapper(.f,...)中的错误:缺少参数“.f”,没有默认值
正如我所说,我不想下载这些文件在我的本地计算机,因为有太多,我的合作者将我修改的csv文件在谷歌文件夹不断,所以每次下载是我想避免的。谢谢你的帮助。
3条答案
按热度按时间nue99wik1#
我认为你有一个语法错误。你试试-
pgvzfuti2#
如果你想直接从你的谷歌驱动器读取文件,你应该先下载Google Drive for desktop,然后去你的共享谷歌驱动器文件夹,复制并粘贴路径到你的代码
您正在使用的URL是为您的浏览器,如Chrome,将无法工作。
通过google drive for desktop工具打开共享的google drive文件夹,并在代码中使用该url路径。会成功的
smdnsysy3#
老问题了,但这可能对任何感兴趣的人都有用-
使用
googledrive
函数,您可以找到您的文件夹和有关您希望访问的文件的信息。然后使用drive_read_string
将简化的数据带入R,然后可以使用read.csv
读取并添加到矩阵中。也许不是很优雅,但它对我很有效。