在R中将数据框写入CSV文件但不包含列标题

58

我想将数据框的内容存储到一个 .csv 文件中,但不要包含列名。我使用以下代码:

write.csv(cur_data,new_file, row.names = F, col.names=F)

生成的文件看起来像这样:

"V1","V2"
-0.02868862,5.442283e-11
-0.03359281,7.669754e-12
-0.03801883,-1.497323e-10
-0.04320051,-6.557672e-11

但是我希望文件的格式如下所示:

-0.02868862,5.442283e-11
-0.03359281,7.669754e-12
-0.03801883,-1.497323e-10
-0.04320051,-6.557672e-11
我不明白为什么代码中的col.names参数没有被考虑。
1个回答

113

不要使用write.csv,而应该使用write.table

 write.table( <yourdf>, sep=",",  col.names=FALSE)

write.csv中,您无法更改许多设置--这些参数只是提醒用户的存在。根据文档:

这些包装器故意不灵活:它们旨在确保使用正确的约定编写有效文件。忽略尝试更改append、col.names、sep、dec或qmethod。


我需要将我的数据存储为CSV文件。虽然我尝试使用col.names = False,但正如你所说,它并没有移除列名。有其他的解决办法吗? - Amm
4
是的,现在可以了,谢谢。我按照您的建议进行了修改,我的最终代码如下:write.table(my_df, filename, sep=",", col.names=FALSE)。 - Amm
4
不要忘记使用row.names参数。 - Ricardo Saporta
1
当然,我的代码看起来像这样 write.table( my_df, filename, sep=",", col.names=F, row.names=F)。上述代码可以正确地创建一个 .csv 文件,但是当我在 Excel 中打开文件时,两列似乎出现在同一列中。有没有办法让我在默认情况下打开 Excel 时单独显示各个列,而不必使用“文本到列”转换选项呢? - Amm
你是否在文件名后面添加了“.csv”?如果是的话,它应该可以在Excel中正常打开。 - Seanosapien

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接