Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


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

Re: st: Converting text file to Stata data file


From   Nick Cox <[email protected]>
To   [email protected]
Subject   Re: st: Converting text file to Stata data file
Date   Mon, 1 Oct 2012 20:22:58 +0100

This is what -infix- is all about.

Alternatively, I'd consider reading this in as a string variable.

Let's suppose that there are blocks of 20 lines each.

infile str40 mystr
replace mystr = trim(mystr)
compress
egen block = seq(), block(20)
egen line = seq(), to(20)
reshape wide mystr, i(block) j(line)
destring mystr*, replace

Nick

On Mon, Oct 1, 2012 at 7:52 PM, Michael Eisenberg
<[email protected]> wrote:

> I have a question regarding importing a text file into Stata.  In many
> ways, it's a follow up question to an earlier question I asked where I
> needed to convert data from Stata into a text file with specific
> information in designated character line positions.
>
> Before the format assumed 100 characters per line. Where () represents
> which line characters are assigned to a given field.
>
> (1-20) LAST NAME
> (21-35) FIRST NAME
> (36) MIDDLE INITIAL
> (37-45) SSN
> (46-47) MONTH OF BIRTH
> etc
>
> In this case, outfixt was the brilliant answer.
>
> I now have an output file in a similar format and I need to convert it
> back into a Stata data file.  Is there a similar command that can
> convert a text file into a Stata data file where the user can
> designate which columns correspond to individual fields?


 On Tue, Jan 17, 2012 at 7:05 AM, Austin Nichols
<[email protected]> wrote:

>> replace lastname=substr(lastname,1,20)
>> *etc, then:
>> ssc install outfixt

On Tue, Jan 17, 2012 at 9:56 AM, Michael Eisenberg

>>> I have to prepare a file for a linkage project, and I’m hoping stata can assist.
>>>
>>> Currently my data is in a stata data file.
>>>
>>> The linkage company requires a set format of data in a plain text format.
>>>
>>> The format assumes 100 characters per line. Where () represents which
>>> line characters are assigned to a given field.   If a variable has
>>> more characters than the designated number of characters, it is to be
>>> truncated
>>>
>>> (1-20) LAST NAME
>>> (21-35) FIRST NAME
>>> (36) MIDDLE INITIAL
>>> (37-45) SSN
>>> (46-47) MONTH OF BIRTH
>>> (48-49) DAY OF BIRTH
>>> (50-53) YEAR OF BIRTH
>>>
>>> The data currently looks like this
>>>
>>> Lastname  firstname  middlename   SSN           MonOB   DaOB    YrOB
>>> Smith   John             Thomas 122342789            01 04              1947
>>> Jones   Craig   Harvey  600656785            10 24              1957
>>> Stata           Jim             Smith   423456751            12 06              1970
>>> Johnson Mike            Thomas  056445671     01        16              1971
>>>
>>> Can Stata perform such a transformation?  If not, are there other
>>> programs that could be recommended.

*
*   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–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index