BookmarkSubscribeRSS Feed
Ronein
Onyx | Level 15

Hello

I need to import CSV file into SAS.

The file contain delimiter # between fields.

I want to add a condtion as following:

1-If there is a row without  delimiter # then Don't import this row

2-If First column contain char data then Don't import this row 

What is the way to do it please?

 

DATA ttt;
    LENGTH
        F1                 8
        F2                 8
        F3                 8
        F4                 8
        F5                 8
        F6                 8
        F7                 8
        F8                 8
        F9                 8
        F10              $ 26
        F11                8
        F12                8
        F13              $ 21328
        F14              $ 84
        F15              $ 2816
        F16              $ 81
        F17              $ 45
        F18              $ 51
        F19                8
        F20              $ 1 ;
    FORMAT
        F1               BEST12.
        F2               BEST9.
        F3               BEST9.
        F4               BEST4.
        F5               DDMMYY10.
        F6               DDMMYY10.
        F7               BEST17.
        F8               BEST16.
        F9               BEST3.
        F10              $CHAR26.
        F11              BEST4.
        F12              BEST9.
        F13              $CHAR21328.
        F14              $CHAR84.
        F15              $CHAR2816.
        F16              $CHAR81.
        F17              $CHAR45.
        F18              $CHAR51.
        F19              BEST9.
        F20              $CHAR1. ;
    INFORMAT
        F1               BEST12.
        F2               BEST9.
        F3               BEST9.
        F4               BEST4.
        F5               DDMMYY10.
        F6               DDMMYY10.
        F7               BEST17.
        F8               BEST16.
        F9               BEST3.
        F10              $CHAR26.
        F11              BEST4.
        F12              BEST9.
        F13              $CHAR21328.
        F14              $CHAR84.
        F15              $CHAR2816.
        F16              $CHAR81.
        F17              $CHAR45.
        F18              $CHAR51.
        F19              BEST9.
        F20              $CHAR1. ;
    INFILE '/path'
        LRECL=21476
        ENCODING="HEBREW"
        TERMSTR=CRLF
        DLM='7F'x
        MISSOVER
        DSD ;
    INPUT
        F1               : ?? BEST32.
        F2               : ?? BEST9.
        F3               : ?? BEST9.
        F4               : ?? BEST4.
        F5               : ?? DDMMYY10.
        F6               : ?? DDMMYY10.
        F7               : ?? COMMA17.
        F8               : ?? COMMA16.
        F9               : ?? BEST3.
        F10              : $CHAR26.
        F11              : ?? BEST4.
        F12              : ?? BEST9.
        F13              : $CHAR21328.
        F14              : $CHAR84.
        F15              : $CHAR2816.
        F16              : $CHAR81.
        F17              : $CHAR45.
        F18              : $CHAR51.
        F19              : ?? BEST9.
        F20              : $CHAR1. ;
RUN;

 

 

 

 

1 REPLY 1
s_lassen
Meteorite | Level 14

I think this may work: add the _INFILE_ option to the infile statement and test on that:

    INFILE '/path'
        LRECL=21476
        ENCODING="HEBREW"
        TERMSTR=CRLF
        DLM='7F'x
        MISSOVER
        DSD
        _INFILE_= test;
    length testcol1 $8;
    input testcol @; /* input COL 1 */
    if not index(test,'#') then delete; /* no delimiters */
    if findc(testcol,,1,'A') then delete; /* characters in first column */
drop test:; input @1 /* and then the rest of the program, inputting from first position again */

 

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 1 reply
  • 595 views
  • 0 likes
  • 2 in conversation