【发布时间】:2014-04-09 03:57:12
【问题描述】:
我 3 天前刚开始使用 SAS,我需要将大约 50 个 csv 文件合并到 1 个 SAS 数据集中。
这 50 个 csv 文件有多个变量,只有一个共同变量,即“region_id”
我曾使用 SAS 企业指南拖放功能来执行此操作,但它过于手动,我花了半天时间将 47 个 csv 文件上传并合并为 1 个 SAS 文件。
我想知道是否有人有更智能的方法来使用基本 SAS?
感谢任何建议和提示!
谢谢!
示例文件名: 2011Census_B01_AUST_short 2011Census_B02A_AUST_short 2011Census_B02B_AUST_short 2011Census_B03_AUST_short . . 2011Census_xx_AUST_short
我有 50 多个 csv 文件要上传和合并。
csv 文件中变量的数量和类型因每个 csv 文件而异。但是,所有 csv 文件都有 1 个公共变量 = "region_id"
示例变量: region_id、Tot_P_M、Tot_P_F、Tot_P_P、Age_0_4_yr_F 等...
【问题讨论】:
-
首先,您应该使用 PROC IMPORT 语句将数据从 csv 文件导入 SAS 数据集。然后使用 MERGE 语句合并它们。
-
文件名是什么样的?如果它们相似,我们也许可以使用 SAS MACRO
-
请提供一些示例文件名和文件内容,我们将能够为您提供更好的帮助。 @andrey_sz 可以一步将多个 CSV 导入单个 SAS 数据集。因此,虽然首先将每个导入到自己的数据集中是一种有效的方法,但可能没有必要。
-
前段时间有人问过类似的问题...stackoverflow.com/questions/19011325/… 使用上一篇文章中的任何答案导入文件后,您可以编写一个宏来进行合并。如果没有关于文件的更多详细信息,就没有其他建议了。
-
感谢大家的帮助 - 我已经尝试通过 PROC IMPORT 导入少量数据文件(即,如果上传 5 个文件,我重复 PROC IMPORT 5 次)有没有办法可以导入 ~50无需重复 PROC IMPORT 50 次的文件?合并它们也是如此....