【发布时间】:2013-01-04 02:51:13
【问题描述】:
这里是data.txt:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 2280 728 ? Ss 20:44 0:00 init [2]
root 2 0.0 0.0 0 0 ? S 20:44 0:00 [kthreadd]
root 202 0.0 0.0 0 0 ? S< 20:44 0:00 [ext4-dio-unwri
root 334 0.0 0.1 2916 1452 ? Ss 20:44 0:00 udevd --daemon
如何将数据读入 data.frame?
1.不能决定分隔符
最后一个字段有问题,space不能做分隔符,
init [2] ,udevd --daemon 是一个字段,不能用space分隔。
2.没有固定宽度
每条线都有不同的宽度。
那么,我怎样才能将 data.txt 读入 data.frame?
【问题讨论】:
-
你确定这里没有固定宽度吗?除了最后一列之外,这似乎是固定宽度。
-
我可以阅读您通过
read.fwf("data.txt", widths = c(4, 10, 5, 5, 7, 6, 4, 10, 6, 7, 20), skip = 1)提供的这个示例。无法让标题工作,这就是我有skip = 1的原因,但这些很容易添加。最后一个宽度可以设置得比你预期的要大得多,你应该没问题......我想...... . -
@AnandaMahto - 我认为使用
read.fwf会出现问题,因为用于生成此文本的pslinux 命令将在每次运行时使用不同大小的列,具体取决于所需的值被打印。我在下面评论说,但是可以在使用程序时手动指定输出格式。 -
@thelatemail 或 Thela 或其他任何名称 ;),我没听懂那部分,但现在你已经编辑了标题,我看到了问题......跨度>
标签: r memory io system text-formatting