我有以下代码:
myTable[i,] = strsplit(line, split=";")[[1]]
write.csv(myTable[-1,], file="episodes_cleared.csv", sep=";", row.names=FALSE, quote=FALSE)
不幸的是,分隔符仍然是',':
iEpisodeId,iPatientId,sTitle,sICPc,dStart,dEnd,bProblem
运行代码给了我:
警告讯息:
1: In write.csv(myTable[-1, ], file = "episodes_cleared.csv", sep = ";", : attempt to set 'sep' ignored
2: In write.csv(myTable[-1, ], file = "episodes_cleared.csv", sep = ";", :
尝试设置'sep'忽略
我做错了什么?
答案 0 :(得分:8)
首先,您应该提供一个可重复的示例。
但是,如果您使用write.csv2
,则默认使用分号作为分隔符。
答案 1 :(得分:5)
文档https://stat.ethz.ch/R-manual/R-devel/library/utils/html/write.table.html说:
write.csv使用"。"小数点和分隔符的逗号。
write.csv2使用小数点的逗号和分隔符的分号,以及某些西欧语言环境中的CSV文件的Excel约定。
这些包装器故意不灵活:它们旨在确保使用正确的约定来编写有效文件。尝试更改append,col.names,sep,dec或qmethod会被忽略,并显示警告。
因此它不仅默认为此分隔符,而且强制执行它。使用
write.table(data,file="data.csv",sep=",",dec = " ")
答案 2 :(得分:0)
你也可以使用带有选项“sep =;”的“fwrite”快速CSV编写器 .. details