<?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 Proc Import -- Multiple Spaces Between Columns in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Proc-Import-Multiple-Spaces-Between-Columns/m-p/758348#M239441</link>
    <description>&lt;P&gt;Data source is nicely formatted on a page.&amp;nbsp; Good amount of white space between columns.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Question is:&amp;nbsp; How to import that into SAS?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc import
datafile="c:\2\gt\i_20201.txt"
out=sas_1.test
dbms=dlm
replace;

guessingrows = max;
getnames=no;

run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The five nicely formatted columns get imported as 69 variables, all messed up.&amp;nbsp; Each and every space is being considered a legitimate delimiter.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thoughts greatly appreciated.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Nicholas Kormanik&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 30 Jul 2021 08:51:25 GMT</pubDate>
    <dc:creator>NKormanik</dc:creator>
    <dc:date>2021-07-30T08:51:25Z</dc:date>
    <item>
      <title>Proc Import -- Multiple Spaces Between Columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-Import-Multiple-Spaces-Between-Columns/m-p/758348#M239441</link>
      <description>&lt;P&gt;Data source is nicely formatted on a page.&amp;nbsp; Good amount of white space between columns.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Question is:&amp;nbsp; How to import that into SAS?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc import
datafile="c:\2\gt\i_20201.txt"
out=sas_1.test
dbms=dlm
replace;

guessingrows = max;
getnames=no;

run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The five nicely formatted columns get imported as 69 variables, all messed up.&amp;nbsp; Each and every space is being considered a legitimate delimiter.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thoughts greatly appreciated.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Nicholas Kormanik&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Jul 2021 08:51:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-Import-Multiple-Spaces-Between-Columns/m-p/758348#M239441</guid>
      <dc:creator>NKormanik</dc:creator>
      <dc:date>2021-07-30T08:51:25Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Import -- Multiple Spaces Between Columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-Import-Multiple-Spaces-Between-Columns/m-p/758351#M239444</link>
      <description>&lt;P&gt;From your description, your files seems to a fixed-width-file, so using a data step is the only way to read it.&lt;/P&gt;</description>
      <pubDate>Fri, 30 Jul 2021 09:16:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-Import-Multiple-Spaces-Between-Columns/m-p/758351#M239444</guid>
      <dc:creator>andreas_lds</dc:creator>
      <dc:date>2021-07-30T09:16:30Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Import -- Multiple Spaces Between Columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-Import-Multiple-Spaces-Between-Columns/m-p/758366#M239447</link>
      <description>Since you have dbms=dlm , you need define a delimiter .&lt;BR /&gt;&lt;BR /&gt;proc import&lt;BR /&gt;datafile="c:\2\gt\i_20201.txt"&lt;BR /&gt;out=sas_1.test&lt;BR /&gt;dbms=dlm&lt;BR /&gt;replace;&lt;BR /&gt;delimiter=' ';&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;And better post this TXT file ,so we can test it .</description>
      <pubDate>Fri, 30 Jul 2021 12:24:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-Import-Multiple-Spaces-Between-Columns/m-p/758366#M239447</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2021-07-30T12:24:36Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Import -- Multiple Spaces Between Columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-Import-Multiple-Spaces-Between-Columns/m-p/758441#M239480</link>
      <description>&lt;P&gt;Copy the first 5 lines of the text and paste into a text box opened on the forum with the &amp;lt;/&amp;gt; icon.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Jul 2021 16:59:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-Import-Multiple-Spaces-Between-Columns/m-p/758441#M239480</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2021-07-30T16:59:27Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Import -- Multiple Spaces Between Columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-Import-Multiple-Spaces-Between-Columns/m-p/758565#M239538</link>
      <description>&lt;P&gt;As always,&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/18408"&gt;@Ksharp&lt;/a&gt;&amp;nbsp;, greatly appreciate your help.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Problem with Proc Import seems to be that it assumes&amp;nbsp;&lt;STRONG&gt;each &lt;/STRONG&gt;space represents a separate delimiter.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you look at a sheet of paper with five columns on it -- separated by appropriate proportional reasonable white space -- one would generally expect SAS to 'bring in' the five columns, no issue.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Proc Import doesn't apparently see it that way.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 30 Jul 2021 23:58:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-Import-Multiple-Spaces-Between-Columns/m-p/758565#M239538</guid>
      <dc:creator>NKormanik</dc:creator>
      <dc:date>2021-07-30T23:58:17Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Import -- Multiple Spaces Between Columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-Import-Multiple-Spaces-Between-Columns/m-p/758566#M239539</link>
      <description>&lt;P&gt;Not exactly 'fixed width',&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/15475"&gt;@andreas_lds&lt;/a&gt;&amp;nbsp;, not precisely.&amp;nbsp; Bit of zig and zag to the columns.&amp;nbsp; But just looking at the page there is no doubt that the data is arranged in columns.&amp;nbsp; Five fairly nicely displayed columns.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So, as you say, one apparently has to turn to the data step, which worked in this present case, no problem.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data sas_1.test ;
infile "c:\2\gt\i_21503a.txt"
;

format Indicator $30. ;
format Parameter 12.2 ;
format Number 12.0 ;
format Success 12.2 ;
format Fail 12.2 ;

Input
Indicator $
Parameter
Number
Success
Fail
;

run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 31 Jul 2021 00:08:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-Import-Multiple-Spaces-Between-Columns/m-p/758566#M239539</guid>
      <dc:creator>NKormanik</dc:creator>
      <dc:date>2021-07-31T00:08:47Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Import -- Multiple Spaces Between Columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-Import-Multiple-Spaces-Between-Columns/m-p/758567#M239540</link>
      <description>&lt;P&gt;Very standard stuff,&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13884"&gt;@ballardw&lt;/a&gt;&amp;nbsp;.&amp;nbsp; But down a ways there is some zig-zag to the columns.&amp;nbsp; I've purposely added an extra space here and there to show....&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;i_21503a    2.64455     74    0.4189     0.5811
i_21503a   2.64455     74    0.4189     0.5811
i_21503a   3.02739      2    0.0000     1.0000
i_21503a   3.02739     2    0.0000     1.0000
i_21503a   3.02739       2    0.0000     1.0000
&lt;/PRE&gt;</description>
      <pubDate>Sat, 31 Jul 2021 00:19:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-Import-Multiple-Spaces-Between-Columns/m-p/758567#M239540</guid>
      <dc:creator>NKormanik</dc:creator>
      <dc:date>2021-07-31T00:19:09Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Import -- Multiple Spaces Between Columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-Import-Multiple-Spaces-Between-Columns/m-p/758575#M239546</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/22691"&gt;@NKormanik&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Very standard stuff,&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13884"&gt;@ballardw&lt;/a&gt;&amp;nbsp;.&amp;nbsp; But down a ways there is some zig-zag to the columns.&amp;nbsp; I've purposely added an extra space here and there to show....&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;i_21503a    2.64455     74    0.4189     0.5811
i_21503a   2.64455     74    0.4189     0.5811
i_21503a   3.02739      2    0.0000     1.0000
i_21503a   3.02739     2    0.0000     1.0000
i_21503a   3.02739       2    0.0000     1.0000
&lt;/PRE&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;So that is NOT a delimited file.&amp;nbsp; So why did you try to read it with PROC IMPORT?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As long as each line has five values a simple NORMAL data step will read easily.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  infile 'myfile.txt' truncover ;
  input var1 :$10. var2-var5 ;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 31 Jul 2021 03:53:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-Import-Multiple-Spaces-Between-Columns/m-p/758575#M239546</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2021-07-31T03:53:56Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Import -- Multiple Spaces Between Columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-Import-Multiple-Spaces-Between-Columns/m-p/758579#M239549</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/159"&gt;@Tom&lt;/a&gt;&amp;nbsp;, seemed reasonable that Proc Import would be the go-to way to get data in.&amp;nbsp; Didn't know that it was mainly for delimited data -- and for only single delimiter characters separating values.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Just to add a bit of clarity for posterity, further questions:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  infile 'myfile.txt' truncover ;
  input var1 :$10. var2-var5 ;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;HR /&gt;
&lt;P&gt;What's "truncover"?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Why the colon?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 31 Jul 2021 06:50:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-Import-Multiple-Spaces-Between-Columns/m-p/758579#M239549</guid>
      <dc:creator>NKormanik</dc:creator>
      <dc:date>2021-07-31T06:50:28Z</dc:date>
    </item>
    <item>
      <title>Re: Proc Import -- Multiple Spaces Between Columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-Import-Multiple-Spaces-Between-Columns/m-p/758598#M239556</link>
      <description>&lt;P&gt;The go-to way to read data into SAS is the INPUT statement of the DATA step.&amp;nbsp; PROC IMPORT is for reading files in structured formats, like SPSS or DBF files.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The TRUNCOVER option on the INFILE statement will prevent SAS from going to the next line if the current line does not have enough data to satisfy the INPUT statement.&amp;nbsp; The default behavior is to flow to the next line.&amp;nbsp; That way if a single observation does not fit on one line you can continue the data on the next line in the input file.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The : modifier tells the INPUT statement to use LIST MODE rather than FORMATTED MODE even though there is an in-line informat in the INPUT statement.&amp;nbsp; Without it INPUT would read exactly the number of characters the informat specified even if that reads past the delimiter and into the next word on the line.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There is not need to use PROC IMPORT for reading a delimited text file either.&amp;nbsp; All PROC IMPORT does when you ask it to read a delimited file is do an analysis of what it sees in the file and generates a data step to read.&amp;nbsp; You can write a much better data step than it does and then you will have full control over how the variables are named, typed, formatted, labeled. etc.&amp;nbsp; Plus you won't be fooled into defining fields like ZIPCODE, PHONE_NUMBER or ID as numbers instead of characters because they only contain digits.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 31 Jul 2021 15:56:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-Import-Multiple-Spaces-Between-Columns/m-p/758598#M239556</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2021-07-31T15:56:36Z</dc:date>
    </item>
  </channel>
</rss>

