缺少明显不一致的分隔数据?

时间:2014-03-02 16:39:19

标签: sas

我已经在SAS中构建了一些东西来拉下雅虎!财务.csv数据。我现在构建的代码工作正常,我已经在代码中构建了一些强大的错误处理。我对数据的问题是.csv提要不受支持且不干净。

数据以逗号分隔,但某些数据中也包含逗号。有些字段是引号,有些则不是。田地的长度也变化很大。例如,市场资本市场(Market Capitlisation)这样的领域可以运行数百万到数千亿。

因此,如果您将多个股票的多个股票指标传递给Yahoo!在API的同时,您将获得.csv数据行,其中每个字段位于不同的位置,长度不同且分隔不一致。

我尝试了多个infile选项,可以单独处理这些错误,但不是所有错误都在一起。我唯一有效的解决方案是同时下载多个股票的单一股票指标。

这给了我想要的东西,但是运行纳斯达克和纽约证券交易所的数据需要一个多小时。我是否忽略了处理此类问题的另一种方法?

由于

1 个答案:

答案 0 :(得分:1)

这是一种做你正在寻找的方法的大纲。执行此操作的所有代码在此处发布时间太长,超出了本网站的范围。

  1. 创建一个SAS程序,该程序从SYSPARM自动宏中获取股票代码,并将数据下载到与代码相同的数据集中,并将其下载到永久库中。

    SYSPARM宏由您在命令行上设置的值调用SAS

    sas.exe myprog.sas -sysparm XYZ

    这会将& SYSPARM设置为解析XYZ

  2. 编写一个SAS程序,将所有股票代码数据集合并在一起,以便进一步处理。

  3. 使用Perl或Python等语言(或shell脚本等)创建程序,循环遍历一系列代码并调用您的SAS程序,通过SYSPARM传递代码。

  4. 使用该语言的线程,分叉等程序包可以同时运行多个这些程序包。您可以在计算机上访问多个CPU核心,因为此处理不会占用大量CPU资源。测试值找到一个有效的值。

  5. 从同一种语言调用您的SAS程序来合并数据集。