我正在尝试生成一些具有稍微不寻常的字段分隔符的文件。
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 ......
您是否知道如何确保文本文件保留不同的行?
干杯
答案 0 :(得分: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'作为行尾参数为我创建单独的行。
答案 1 :(得分:0)
原来这是一个UNIX-Windows编码问题。所以有一些红色的鲱鱼,但也许值得记录以防万一其他人在最初困惑的问题。
事实证明,Windows记事本有时难以正确呈现在UNIX中生成的文件,快速测试是否存在问题是在Windows写字板中打开,您可能会发现它将正确呈现。