如何从.csv文件中删除第一行?

时间:2016-01-19 05:39:21

标签: r

我有500个csv文件,其中每个文件的第一行都有该文件的名称。我希望从我的数据中排除文件名。

我试过这个,但它不起作用:

temp = list.files(pattern="*.csv")
myfiles = lapply(temp, read.delim)
myfiles = myfiles[-1, ]

1 个答案:

答案 0 :(得分:1)

这显然是一个R问题。但是,我想我会建议使用Unix方法。对于这项任务,Unix将比R快得多,而IMO则是更自然的工具。如果你有Windows,你将不得不下载cygwin。这可能是一件令人头疼的事,然而,只有极少的知识,Unix是一个非常强大的工具。基本上有两种方法可以解决您的问题:

第一种方法

您可以修改每个文件,以便删除第一行。这意味着您的原始.csv将不再存在。

sed -i 1d *.csv

第二种方法

第一种方法存在问题。您可能希望保留原始文件。如果是这种情况,您需要从上面的代码中删除-i标志。我们还需要使用for循环,以便我们可以命名每个新文件。

for f in *.csv; do sed 1d $f > new_$f; done

Unix中的for循环有点像R for循环,除了dodone替换{}