1

经过几个步骤后,我尝试导出一个带有 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

感谢您提前回复!如果这是微不足道的,或者已经回答了,请原谅!

4

2 回答 2

1

用于gsub在写入文件时去除空格,即

write.table(gsub(" ", "", Data_Table), ...)
于 2016-09-05T09:43:09.633 回答
0

As you want to write a csv-file, maybe try write.csv. For me it worked, when openening it in Excel.

,"datestring","ID","UOM","field_output"
1,20160831,1,"kWh",100628610
2,20160831,2,"kWh",1800000
3,20160831,3,"kWh",252
4,20160831,4,"kWh",0
5,20160831,5,"kWh",0

During the trial it added a extra line of id's with reading in by setting row.names=ID I could have avoided it or by setting row.names=FALSE in the write.csv() function.

于 2016-09-05T09:33:28.247 回答