<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: importing  non-standard  text file in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/importing-non-standard-text-file/m-p/403757#M98123</link>
    <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/18299"&gt;@QLi&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;Below code should also handle cases where your source data doesn't always have 3 line&amp;nbsp;address blocks and can also contain blank lines between the blocks.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;filename raw temp;

data _null_;
  file raw;
  put 'ID,Name_addess,RLT,MGR_NM'	; 	 
  put '1882' @10 'DONNA O ABBOTT' @40 '29791' @50 'JONATHAN D COLLINS' ;
  put @10 '105 WINDWARD PSGE'; 	 	 	 
  put @10 'KNIGHTDALE NC 27545-9406';

  put '9999' @10 'DONNA O ABBOTT' @40 '29791' @50 'JONATHAN D COLLINS' ;
  put @10 '105 WINDWARD PSGE'; 	 	 	 
  put;
  put;
  put '1882' @10 'DONNA O ABBOTT' @40 '29791' @50 'JONATHAN D COLLINS' ;
  put ; 	 	 	 
  put @10 'KNIGHTDALE NC 27545-9406';

run;


data want(drop=_:);
  infile raw firstobs=2 truncover;

  input ID $1-9 @;
  if not missing(id) then
    do;
      input Name_addess_1 $10-39 RLT $40-49 MGR_NM $50-70;

      array nad {*} $30 Name_addess_2 Name_addess_3; 
      do _i=1 to dim(nad);
        input _idNext $1-9 @@;
        if missing(_idNext) then
          do;
            input nad[_i] $10-39;
          end;
        else leave;
      end;
    end;
  if not missing(id) then output;

run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Fri, 13 Oct 2017 02:20:03 GMT</pubDate>
    <dc:creator>Patrick</dc:creator>
    <dc:date>2017-10-13T02:20:03Z</dc:date>
    <item>
      <title>importing  non-standard  text file</title>
      <link>https://communities.sas.com/t5/SAS-Programming/importing-non-standard-text-file/m-p/403742#M98115</link>
      <description>&lt;P&gt;hello,&lt;/P&gt;
&lt;P&gt;I need to import non-standard text file into SAS. anyone know how to do it? &amp;nbsp;below is one data sample&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="885"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;Have :&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="170"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="137"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="209"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="177"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;ID&lt;/TD&gt;
&lt;TD width="170"&gt;Name_addess&lt;/TD&gt;
&lt;TD width="137"&gt;RLT&lt;/TD&gt;
&lt;TD width="209"&gt;MGR_NM&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;1882&lt;/TD&gt;
&lt;TD width="170"&gt;DONNA O ABBOTT&lt;/TD&gt;
&lt;TD width="137"&gt;29791&lt;/TD&gt;
&lt;TD width="209"&gt;JONATHAN D COLLINS&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="170"&gt;105 WINDWARD PSGE&lt;/TD&gt;
&lt;TD width="137"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="209"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="170"&gt;KNIGHTDALE NC 27545-9406&lt;/TD&gt;
&lt;TD width="137"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="209"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Want:&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;ID&lt;/TD&gt;
&lt;TD width="170"&gt;Name_addess_1&lt;/TD&gt;
&lt;TD width="137"&gt;Name_addess_2&lt;/TD&gt;
&lt;TD width="209"&gt;Name_addess_3&lt;/TD&gt;
&lt;TD width="64"&gt;RLT&lt;/TD&gt;
&lt;TD width="177"&gt;MGR_NM&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;1882&lt;/TD&gt;
&lt;TD width="170"&gt;DONNA O ABBOTT&lt;/TD&gt;
&lt;TD width="137"&gt;105 WINDWARD PSGE&lt;/TD&gt;
&lt;TD width="209"&gt;KNIGHTDALE NC 27545-9406&lt;/TD&gt;
&lt;TD width="64"&gt;29791&lt;/TD&gt;
&lt;TD width="177"&gt;JONATHAN D COLLINS&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Fri, 13 Oct 2017 00:47:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/importing-non-standard-text-file/m-p/403742#M98115</guid>
      <dc:creator>QLi</dc:creator>
      <dc:date>2017-10-13T00:47:47Z</dc:date>
    </item>
    <item>
      <title>Re: importing  non-standard  text file</title>
      <link>https://communities.sas.com/t5/SAS-Programming/importing-non-standard-text-file/m-p/403745#M98117</link>
      <description>&lt;P&gt;The data you posted looks nothing like a text file.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Why do you want us to guess what your data looks like?&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Supposing it is as below, this works:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data _null_;
  file "%sysfunc(pathname(work))\test.txt";
  put 'ID,Name_addess,RLT,MGR_NM'	; 	 
  put '1882,	DONNA O ABBOTT,	29791,	JONATHAN D COLLINS' ;	 	 
  put '105 WINDWARD PSGE'; 	 	 	 
  put 'KNIGHTDALE NC 27545-9406';
  put '1882,	DONNA O ABBOTT,	29791,	JONATHAN D COLLINS' ;	 	 
  put '105 WINDWARD PSGE'; 	 	 	 
  put 'KNIGHTDALE NC 27545';
data WANT;
  infile "%sysfunc(pathname(work))\test.txt" dlm=','  firstobs=2 pad ;
  input  ID $ ADD1 : $50. RLT $ MGR_NM $50.; 	 
  input  ADD2 $50.; 	 
  input  ADD3 $50.; 
run; 

&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Print: Data Set WORK.WANT" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="l header" scope="col"&gt;ID&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;ADD1&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;RLT&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;MGR_NM&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;ADD2&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;ADD3&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;1882&lt;/TD&gt;
&lt;TD class="l data"&gt;DONNA O ABBOTT&lt;/TD&gt;
&lt;TD class="l data"&gt;29791&lt;/TD&gt;
&lt;TD class="l data"&gt;JONATHAN D COLLINS&lt;/TD&gt;
&lt;TD class="l data"&gt;105 WINDWARD PSGE&lt;/TD&gt;
&lt;TD class="l data"&gt;KNIGHTDALE NC 27545-9406&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;1882&lt;/TD&gt;
&lt;TD class="l data"&gt;DONNA O ABBOTT&lt;/TD&gt;
&lt;TD class="l data"&gt;29791&lt;/TD&gt;
&lt;TD class="l data"&gt;JONATHAN D COLLINS&lt;/TD&gt;
&lt;TD class="l data"&gt;105 WINDWARD PSGE&lt;/TD&gt;
&lt;TD class="l data"&gt;KNIGHTDALE NC 27545&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 13 Oct 2017 01:12:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/importing-non-standard-text-file/m-p/403745#M98117</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2017-10-13T01:12:33Z</dc:date>
    </item>
    <item>
      <title>Re: importing  non-standard  text file</title>
      <link>https://communities.sas.com/t5/SAS-Programming/importing-non-standard-text-file/m-p/403752#M98119</link>
      <description>&lt;P&gt;Chris, thanks. based on your codes, i fix it out. By using multiple INPUT statements.&lt;/P&gt;</description>
      <pubDate>Fri, 13 Oct 2017 01:58:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/importing-non-standard-text-file/m-p/403752#M98119</guid>
      <dc:creator>QLi</dc:creator>
      <dc:date>2017-10-13T01:58:58Z</dc:date>
    </item>
    <item>
      <title>Re: importing  non-standard  text file</title>
      <link>https://communities.sas.com/t5/SAS-Programming/importing-non-standard-text-file/m-p/403757#M98123</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/18299"&gt;@QLi&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;Below code should also handle cases where your source data doesn't always have 3 line&amp;nbsp;address blocks and can also contain blank lines between the blocks.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;filename raw temp;

data _null_;
  file raw;
  put 'ID,Name_addess,RLT,MGR_NM'	; 	 
  put '1882' @10 'DONNA O ABBOTT' @40 '29791' @50 'JONATHAN D COLLINS' ;
  put @10 '105 WINDWARD PSGE'; 	 	 	 
  put @10 'KNIGHTDALE NC 27545-9406';

  put '9999' @10 'DONNA O ABBOTT' @40 '29791' @50 'JONATHAN D COLLINS' ;
  put @10 '105 WINDWARD PSGE'; 	 	 	 
  put;
  put;
  put '1882' @10 'DONNA O ABBOTT' @40 '29791' @50 'JONATHAN D COLLINS' ;
  put ; 	 	 	 
  put @10 'KNIGHTDALE NC 27545-9406';

run;


data want(drop=_:);
  infile raw firstobs=2 truncover;

  input ID $1-9 @;
  if not missing(id) then
    do;
      input Name_addess_1 $10-39 RLT $40-49 MGR_NM $50-70;

      array nad {*} $30 Name_addess_2 Name_addess_3; 
      do _i=1 to dim(nad);
        input _idNext $1-9 @@;
        if missing(_idNext) then
          do;
            input nad[_i] $10-39;
          end;
        else leave;
      end;
    end;
  if not missing(id) then output;

run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 13 Oct 2017 02:20:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/importing-non-standard-text-file/m-p/403757#M98123</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2017-10-13T02:20:03Z</dc:date>
    </item>
  </channel>
</rss>

