2012-12-07 200 views
8

我想将我的结果矩阵写入csv文件。使用分隔符写入csv文件

我使用的代码

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

但我已经导致有一些“”价值,所以什么类型的隔膜用写这些类型的数据。

我已经使用'tab'作为分隔符,但当时它没有分割为列,这些值被插入到单个列中。

我也试过

但这次单列内容splited成多列。

+1

也许告诉我们你想如何写数据。通常,数据中的'''不应该在'write.table'中,因为默认情况下字符串是由'''引用的。 – Thilo

+2

传统上,在','用作小数分隔符的国家(例如法国和德国) ,“csv”文件实际上是以分号分隔的(如果你安装了这些国家的特定版本,这是所有电子表格程序的默认设置)。因此'write.table(result,file =“F:\\ filename.csv”,row .names = FALSE,sep =“;”)'是非常经典的,否则对于制表符分隔的文件,参数是'sep =“\ t”'。 – plannapus

+0

@plannapus回答? – Roland

回答

16

,用作小数点分隔符的国家(例如法国和德国)中,“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"

+1

@Roland,但它 – user1790894

+0

@ user1790894你可以使用'dput','str'或'head'显示你的数据样本吗?没有看到你的数据,我真的不明白为什么以及它如何工作。 – plannapus

0

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

0

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

相关问题