【发布时间】:2015-08-04 11:13:33
【问题描述】:
我有来自聊天的数据,当时我想在一个条目中读取。每次一个人点击“发送”应该是一个观察。问题是文本中有中断(输入)时。我无法让 SAS 继续将其视为相同的观察结果。这是一些虚拟数据:
08:23 - Greg: Hi!
08:24 - Sue: Hello
08:24 - Greg: How are you?
08:25 - Sue: Just fine :)
How are you then?
08:26 - Greg: All good.
我希望这是 5 个观察值,但我只能管理 SAS 将其读取为 7 个 obs。所需的数据集应如下所示:
Obs VAR1
1 08:23 - Greg: Hi!
2 08:24 - Sue: Hello
3 08:24 - Greg: How are you?
4 08:25 - Sue: Just fine :) How are you then?
5 08:26 - Greg: All good.
我玩弄代码:
data testing;
infile datalines ;
input var1 $60. ;
datalines;
08:23 - Greg: Hi!
08:24 - Sue: Hello
08:24 - Greg: How are you?
08:25 - Sue: Just fine :)
How are you then?
08:26 - Greg: All good.
;
但实际文件是 txt 并且比上面的虚拟示例有更多的不规则性。我试图使用尾随 @ 但无法让它以我想要的方式工作。也许尾随@不是我所追求的。任何建议如何进行?
【问题讨论】:
-
您是否需要将其从输入中完美格式化,或者您也可以对字符串进行后处理以获得所需的结果?
-
后期处理很好,我一直在想。当我阅读可能轻松解决这个问题的数据时,只是感觉我错过了一些东西。
-
您能否验证换行与发送是如何存储在您的文件中的?有时像这样的文件使用
'0A'x(LF) 进行内部换行,而'0D0A'x仅在发送之后使用。 -
似乎只是LF中断。好想你,它本来可以让事情变得更容易。
标签: sas