【发布时间】:2016-09-05 09:15:59
【问题描述】:
经过几个步骤后,我尝试导出一个带有 R 中给定分隔符和小数位的 csv 文件。
我会这样计算:
Data_Table$`field_output` <- ifelse(Data_Table$`field_1` > 0,
Data_Table$`field_2`,
Data_Table$`field_3`
)
我尝试了两种格式:
Data_Table$`field_output` <- format(round(Data_Table$`field_output`, 2), nsmall = 2)
和
Data_Table$`field_output` <- formatC(Data_Table$`field_output`, digits=2, format="f")
然后导出:
write.table(Data_Table, file=paste("./output/filename_", datestring, ".csv"), quote=FALSE, sep=";", eol = "\n", dec=".", row.names=FALSE, col.names=TRUE)
我的问题是输出
它产生右对齐的列,在输出字段前带有额外的空格/字符
datestring;ID;UOM;field_output
20160831;1;kWh;100628610.00
20160831;2;kWh; 1800000.00
20160831;3;kWh; 252.00
20160831;4;kWh; 0.00
20160831;5;kWh; 0.00
有没有办法摆脱这些,并有这样的格式:
datestring;ID;UOM;field_output
20160831;1;kWh;100628610.00
20160831;2;kWh;1800000.00
20160831;3;kWh;252.00
20160831;4;kWh;0.00
20160831;5;kWh;0.00
感谢您提前回复!如果它是微不足道的,或者已经回答了,请原谅!
【问题讨论】:
-
您可以尝试添加
gsub来去除空格吗?即write.table(gsub(" ", "", Data_Table), ...) -
太棒了!它确实有效!感谢您的评论!
-
我会添加它作为答案。
标签: r csv decimal write.table