【问题标题】:proc import with tab delimited使用制表符分隔的 proc 导入
【发布时间】:2014-07-22 14:14:04
【问题描述】:

我正在尝试导入以下文件

namq_aux_lp         07.07.2014
namq_aux_ulc        08.07.2014
namq_aux_gph        07.07.2014
prc_hicp_cann       17.07.2014
namq_nace10_k       02.07.2014
sei_bsco_m          10.06.2014
ei_bsin_m_r2        26.06.2014
lassei_bsbu_m_r2    26.06.2014
assei_bsrt_m_r2     26.06.2014
ei_bssi_m_r2        26.06.2014
ei_bsse_m_r2        26.06.2014
ei_bsci_m_r2        26.06.2014
sts_trtu_m          17.07.2014

我使用了以下 proc import 的

proc import out=lesdates datafile="C:\work\studies\project\data\calend\bigfilev2.txt"
dbms=tab REPLACE;
getnames=no;
run;

proc import out=lesdates datafile="C:\travail\etudes\projetpib\donnees\calend\bigfilev2.txt"
dbms=tab REPLACE;
delimiter='09'x;
getnames=no;
run;

但每次我都以一个变量取 2 列而不是 2 个变量结束

             var1
------------------------------
namq_aux_lp         07.07.2014
namq_aux_ulc        08.07.2014
namq_aux_gph        07.07.2014
prc_hicp_cann       17.07.2014
namq_nace10_k       02.07.2014
sei_bsco_m          10.06.2014
ei_bsin_m_r2        26.06.2014
lassei_bsbu_m_r2    26.06.2014
assei_bsrt_m_r2     26.06.2014
ei_bssi_m_r2        26.06.2014
ei_bsse_m_r2        26.06.2014
ei_bsci_m_r2        26.06.2014
sts_trtu_m          17.07.2014

我做错了什么???

PS:我可以编辑文本文件,但我想在不接触任何内容的情况下进行导入。

【问题讨论】:

    标签: import sas


    【解决方案1】:

    据我所知,这不是一个制表符分隔的文本文件(我从未见过超过 9 个字符的制表符,所以看起来很有可能)。那是一个固定宽度的格式文件。理论上您可以使用空格分隔符,但以固定宽度读取它会更好。

    data want;
     infile "yourfile.txt";
     input
      @1 var1 $20.
      @21 var2 ddmmyy10.
     ;
     format var2 ddmmyy10.;
     run;
    

    【讨论】:

    • 干杯乔。但是,对于 var2 的数据类型,我有一个数字而不是日期。正常吗?
    • 添加format 语句使其看起来像一个日期(该信息意味着它已正确读取,因此可能是 19153 或类似的东西,但您仍然必须对其进行格式化以使其看起来漂亮)。
    • 干杯乔。学习,学习。我的年轻同事向你表示感谢。
    • 我已允许自己使用格式编辑您的帖子。
    猜你喜欢
    • 2021-02-23
    • 1970-01-01
    • 2013-05-22
    • 2014-08-31
    • 2021-08-26
    • 2020-09-10
    • 1970-01-01
    • 2017-12-09
    • 1970-01-01
    相关资源
    最近更新 更多