sas - 如何打开以变量值命名的文件,该变量的值在 SAS 中跨行更改
问题描述
我正在尝试在 SAS 中打开一个文件,其中文件的名称根据变量的值更改为每一行。我要打开的所有文件都在同一个目录中,以一年中的某一天命名为数字(127.csv、128.csv、129.csv 等)。我的 SAS 数据有一个名为“day”的列,对于每一行,我想打开名为那一天的文件,从该文件中提取一个值并将其添加到我的原始文件中。当名称随变量的值更改每一行时,打开文件的最佳方法是什么?如果不清楚,请参阅我的附加数据。谢谢。
解决方案
通常,如果您想从列表中读取一组文件,请使用语句FILEVAR=
上的选项。INFILE
data want;
set have ;
length fname $200 ;
fname = catx('/',"&path",cats(day,'.csv'));
infile csv filevar=fname dsd firstobs=2 end=eof truncover ;
do while (not eof);
input ..... ;
output;
end;
run;
将读取 CSV 文件所需的任何代码放入 DO 循环中。确保使用 OUTPUT 语句明确写出观察结果,因为数据步骤的每次迭代都将处理一个完整的文件。
推荐阅读
- python - 我想从生成 CSV 文件但似乎在错误环境中的独立 python 脚本写入 Django 模型
- html - 如何使用 HTML 日期选择器设置最小和最大持续时间
- azure - 在 Azure 仪表板上显示某些 vm 的信息
- node.js - 如何在节点js中添加身份验证中间件
- excel - 下载 CSV 数据时如何更正 Excels 格式?
- node.js - 如何根据深度值创建文件夹和子文件夹
- java - Spring Boot 将资源加载到类路径
- c - gcc 没有警告严格别名规则
- c - C 比较两个二进制数据的问题
- node.js - 如何在 CentOS 上安装最新的 Nodejs?