Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down at the end of May, and its replacement, statalist.org is already up and running.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: Importing subset of a pipe delimited textfile


From   "Joseph Coveney" <jcoveney@bigplanet.com>
To   <statalist@hsphsun2.harvard.edu>
Subject   Re: st: Importing subset of a pipe delimited textfile
Date   Wed, 17 Oct 2012 22:15:33 +0900

Rob Shaw wrote:

Thanks. Yes that would work but the problem is the varying length of
each line. So I need to get filefilter or another command to do one
of:

[snip]

Is there a way to use -filefilter- to achieve this?

File sample:

1|ABCD|23|XYZ
10|BCED|1|YZX
30|DCHS|234|YBH

--------------------------------------------------------------------------------

If your file sample is representative, that is, if the string variables are of
fixed length as shown, then something like that below would work.  (Start at 
"Begin here".)

Joseph Coveney

. input str15 a 

                   a
  1. "1|ABCD|23|XYZ"
  2. "10|BCED|1|YZX"
  3. "30|DCHS|234|YBH"
  4. end

. quietly compress

. 
. tempfile tmpfil0

. outfile using `tmpfil0', noquote wide

. 
. type `tmpfil0'
1|ABCD|23|XYZ    
10|BCED|1|YZX    
30|DCHS|234|YBH  

. 
. *
. * Begin here
. *
. tempfile tmpfil1

. filefilter `tmpfil0' `tmpfil1', from("|") to(\032d\Q\032d)

. 
. tempfile tmpfil2

. filefilter `tmpfil1' `tmpfil2', from(\r\n) to(\Q\r\n)

. 
. type `tmpfil2'
1 " ABCD " 23 " XYZ    "
10 " BCED " 1 " YZX    "
30 " DCHS " 234 " YBH  "

. 
. infile a str6 b c str20 d using `tmpfil2', clear
(3 observations read)

. quietly replace b = trim(b)

. quietly replace d = trim(d)

. quietly compress

. 
. list, noobs

  +-----------------------+
  |  a      b     c     d |
  |-----------------------|
  |  1   ABCD    23   XYZ |
  | 10   BCED     1   YZX |
  | 30   DCHS   234   YBH |
  +-----------------------+

. 
. exit

end of do-file


*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index