【发布时间】:2017-11-30 06:16:29
【问题描述】:
我在表单中有一个列表
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 正确实现它吗?
【问题讨论】:
-
为什么不使用
?write.table系列函数? -
@docendodiscimus 的问题不在于写入 csv 文件,而不是解析它并在保持行序的同时添加分号。
-
在我看来,您应该使用
read.table系列函数读取数据,这样您就可以得到data.frame,然后就不需要解析或手动插入分号,因为这就是@ 987654332@函数家族为你做。 -
您在读取数据时遇到问题。仔细查看第一个 doc1。