14

我想将结果矩阵写入 csv 文件。

我使用了代码

write.table(result, file ="F:\\filename.csv",row.names=FALSE,sep=",")

但是我的结果已经有了一些“,”值,那么使用什么类型的分隔符来写入这些类型的数据。

我已经使用“制表符”作为分隔符,但当时它没有拆分为列,值被插入到单个列中。

我也试过

  write.csv(result, file ="F:\\filename.csv",row.names=FALSE)

但是这次将单列内容拆分为多列。

4

3 回答 3

25

,用作小数分隔符的国家/地区(例如法国和德国),“csv”文件实际上是用分号分隔的(如果您安装这些国家/地区特定的版本,它是所有电子表格程序的默认设置)。
所以write.table(result, file ="F:\\filename.csv",row.names=FALSE,sep=";")会很经典。
实际上如此经典以至于有一个包装器:

write.csv2(result, file ="F:\\filename.csv",row.names=FALSE)

write.csv2使用sep=";"dec=","作为默认值。

否则,对于制表符分隔的文件,参数是sep="\t".

于 2012-12-07T08:30:50.677 回答
1

我倾向于使用qmethod = "double",因此分隔符不会干扰字段内容。

于 2012-12-07T10:06:59.053 回答
1

您可以使用任何您想要的分隔符,还请注意,您可以使用字符串作为分隔符。所以一些非标准的例子可能是“||” 或“|/|”。如果其中一个字段已经包含一些其他类型的分隔符,例如“;”,这将特别有用。"、":" 或 "|"。

于 2014-10-21T13:18:41.897 回答