【发布时间】:2013-12-28 04:04:34
【问题描述】:
我有一个布局异常的 csv 文件。数据不是顶部的连续块。 csv文件可以这样描述:
Comment Strings
Empty row
Comment String
[Desired Data with 10 columns and an undetermined number of rows]
Empty Row
Comment String
[Desired Data with 10 columns and an undetermined number of rows]
Empty Row
Comment String
[包含 10 列且列数未定的所需数据]
.... and so on and so forth.
如前所述。每个数据块都有随机数量的行。
将这些数据提取到 R 中的最佳方法是什么? read.table/read.csv 只能做这么多。
read.table("C:\\Users\\Riemmman\\Desktop\\Historical Data\\datafile.csv",header=F,sep=",",skip=15,blank.lines.skip=T)
【问题讨论】:
-
请发布您的数据的小样本/示例。你想要的输出是什么?每个数据部分的前 10 列?虽然您可以在 R 中进行文本处理,但在 awk 或 sed 等其他实用程序中可以更快地完成。
-
“所需数据”块是否有通用标题?另外,我假设您的意思是“未确定的 行数”。
-
是的,它们都具有相同的行数和相同的命名列。我的问题是告诉 R,“嘿.. 第一个连续块在这里,第二个在这里,跳过这部分,第三个在那里,等等。”
-
有没有办法将整个内容加载到 R 中并在那里格式化?所以我会加载整个文件,其中包括数据和文本,然后在 R 中清理它。
-
@jessica,是的。
readLines可以让你加载整个文件。请参阅my answer,了解 R 中的可能解决方案。
标签: regex r csv read.table