我有500 csv。数据看起来像这样的文件:
我想为每个csv文件提取一个单元格(例如B4或 0.477 ),并将这些值组合成单个csv。关于如何轻松完成这项工作的一些建议是什么?
答案 0 :(得分:1)
您可以尝试这样的事情
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")
答案 1 :(得分:0)
我无法添加评论。所以,我会在这里写下我的评论。
由于您的数据非常庞大且单独加载数据非常困难,请尝试以下操作:Importing multiple .csv files into R。它类似于问题的第一部分。第二部分,试试这个:
您可以将数据保存为data.frame
(与@Bruno Zamengo的评论一样),然后您可以在R中使用select
和merge
函数。然后,您可以轻松地将它们合并到单个csv
文件中。使用select
和merge
函数,您可以选择所需的所有值,然后将它们组合在一起。我在我的项目中使用了这个想法。不要忘记使用lapply
。