从R和R中的多个csv文件中提取单个单元格值
我有500美元。包含以下数据的文件:从R和R中的多个csv文件中提取单个单元格值,r,excel,csv,R,Excel,Csv,我有500美元。包含以下数据的文件: 我希望每个csv文件提取一个单元格(例如B4或0.477),并将这些值合并到单个csv中。关于如何轻松做到这一点,有哪些建议?我无法添加评论。所以,我将在这里写下我的评论 由于您的数据非常大,很难单独加载,请尝试以下方法:。这与问题的第一部分类似。对于第二部分,请尝试以下方法: 您可以将数据保存为data.frame(与@Bruno Zamengo的注释一样),然后可以在R中使用select和merge函数。然后,您可以轻松地将它们合并到单个csv文件中。
我希望每个csv文件提取一个单元格(例如B4或0.477),并将这些值合并到单个csv中。关于如何轻松做到这一点,有哪些建议?我无法添加评论。所以,我将在这里写下我的评论 由于您的数据非常大,很难单独加载,请尝试以下方法:。这与问题的第一部分类似。对于第二部分,请尝试以下方法:
您可以将数据保存为
data.frame
(与@Bruno Zamengo的注释一样),然后可以在R中使用select
和merge
函数。然后,您可以轻松地将它们合并到单个csv
文件中。使用选择
和合并
功能,您可以选择所需的所有值并将其组合。我在我的项目中使用了这个想法。不要忘记使用lappy
你可以试试这样的东西
all.fi <- list.files("/path/to/csvfiles", pattern=".csv", full.names=TRUE) # store names of csv files in path as a string vector
library(readr) # package for read_lines and write_lines
ans <- sapply(all.fi, function(i) { eachline <- read_lines(i, n=4) # read only the 4th line of the file
ans <- unlist(strsplit(eachline, ","))[2] # split the string on commas, then extract the 2nd element of the resulting vector
return(ans) })
write_lines(ans, "/path/to/output.csv")
all.fi每次将一个文件读入一个data.frame
,访问所需的单元格并将其存储在某处如何?@BrunoZamengo读取所有文件毫无意义请参见?read.table
。skip和nrows参数将非常有用。您还可以使用scan
,它接受这两个(nlines而不是nrows)参数,并且进行了一些微调。