大数据读取与数据管理实用技巧
处理复杂数据
在将未记录的大型数据文件读入 SAS 时,往往需要进行繁琐的试错过程。当遇到新数据集时,在文件查看器中检查数据甚至在数据编辑器中编辑数据的同时完善 infile 代码,通常是一项艰巨的任务。此外,还可以对数据应用大量格式,需要决定使用哪些格式。有时由于各种限制,可能需要跳过读取某些列,后续再处理,这可以通过在 infile 命令中指定读取位置来实现。
固定宽度文件中指定数据位置
以 NCPDP 数据集为例,它是一个固定宽度文件,这种文件常见于旧版数据库。在固定宽度文件中,没有分隔符,每行有字符映射。每行(或记录)必须包含一定数量的字符,如果某些字符位置没有字符值,则使用空格作为填充。例如,有一个名为 Chap2_4_Fixed.txt 的数据集,内容如下:
1 820 RED 12
2 840.28 BLUE 34
3 E440.32GREEN 56
4 F540.55YELLOW 78
5 989.45 ORANGE 99
该数据集具有以下特点:
- 有四列(ID、CODE1、CODE2 和 CODE3)和五行。
- 没有标题,因为旧版数据库导出时通常不使用标题。
- 没有分隔符,如第四行中 CODE1 的值后面紧接着 CODE2 的值,中间没有分隔符。
- 由于固定宽度格式,ID 列看起来有两个空格,可推断 ID 在源数据集中占用两个字符位置,其值位于第一到第二个位置。
- 每条记录的固定宽度为 18 个字符。
如果在
超级会员免费看
订阅专栏 解锁全文
586

被折叠的 条评论
为什么被折叠?



