2

我正在尝试生成一些具有稍微不寻常的字段分隔符的文件。

require(data.table)

dset <- data.table(MPAN = c(rep("AAAA",1000),rep("BBBB",1000),rep("CCCC",1000)),
                   INT01 = runif(3000,0,1), INT02 = runif(3000,0,1), INT03 = runif(3000,0,1))

write.table(dset,"C:/testing_write_table.csv",
            sep = "|",row.names = FALSE, col.names = FALSE, na = "", quote = FALSE, eol = "")

但是我发现这些行在输出文件中没有单独保存,例如

AAAA|0.238683722680435|0.782154920976609|0.0570344978477806AAAA|0.9250325632……

您知道如何确保文本文件保留不同的行吗?

干杯

4

2 回答 2

2

您使用了错误的eol论点。行尾参数必须是换行符:

这对我有用:

require(data.table)

dset <- data.table(MPAN = c(rep("AAAA",1000),rep("BBBB",1000),rep("CCCC",1000)),
                   INT01 = runif(3000,0,1), INT02 = runif(3000,0,1), INT03 = runif(3000,0,1))

write.table(dset,"C:/testing_write_table.csv",  #save as .txt if you want to open it with notepad as well as excel
            sep = "|",row.names = FALSE, col.names = FALSE, na = "", quote = FALSE, eol = "\n")

使用换行符 '\n' 作为行尾参数会为我创建单独的行。

于 2014-12-09T11:38:08.973 回答
0

原来这是一个 UNIX - Windows 编码问题。所以这是一个红鲱鱼,但也许值得记录,以防其他人一开始就有这个令人困惑的问题。

事实证明,Windows 记事本有时难以正确呈现在 UNIX 中生成的文件,快速测试是否是问题所在是在 Windows 写字板中打开,您可能会发现它会正确呈现。

于 2014-12-09T17:31:23.023 回答