使用R

时间:2017-06-27 08:59:11

标签: r csv parsing

我有一个表格

0 -121.904167 41.974556
1 -121.902153 41.974766
2 -121.896790 41.988075
....

我需要将其转换为表单中的csv文件(使用R)

0; -121.904167; 41.974556
1; -121.902153; 41.974766
2; -121.896790; 41.988075

我导入列表

doc1 <- readLines("https://www.cs.utah.edu/~lifeifei/research/tpq/cal.cnode")

然后我用分号替换空格

doc1 <- gsub("\\s+",";", doc1)

然后我将doc1导出到.csv文件

cat(doc1, file = "doc1.csv")

但我导出的文件看起来有些混乱。首先,所有行都是一个接一个而不是一个在另一个之下。 此外,我的第一行的最后一个元素被认为是附加到第二行的第一个元素等

如果我将此.csv文件导入Excel,请告诉您我的意思(这不是我的最终目标,仅为了澄清) 我将所有文件写入一行,其中列为

0 | -121.904167 | 41.974556 1 | -121.902153 | 41.974766 2 | -121.896790 .....

虽然我在sublime中打开的csv文件看起来像这样

0;-121.904167;41.974556 1;-121.902153;41.974766 2;-121.896790;41.988075 3;-121.889603;41.998032 4;-121.886681;42.008739 5;-121.915062;41.970314 6;-121.910088;41.973942 7;-121.916199;41.969482 

任何想法如何使用R?

正确实现它

1 个答案:

答案 0 :(得分:2)

library(data.table)
input<-fread(input = "https://www.cs.utah.edu/~lifeifei/research/tpq/cal.cnode")

检查它是否已导入OK。

 >dim(input)
 [1] 21048     3

最后使用逗号分隔符(默认情况下)将其导出为csv:

 write.csv(input,"output.csv",row.names = F)