<@;@(1&{ , '-' ; 0&{ , '/' ; 3&{)"1 q

will get you a boxed list.  You can flatten that with ;
or add CRLF as needed.

Henry Rich

On 8/9/2011 6:07 PM, PackRat wrote:
> Here is some sample stock data:
>
>     s1=. 'JCI';'Johnson Controls';'700';'197412020000'
>     s2=. 'JNPR';'Juniper Networks';'440';'200910290930'
>     s3=. 'K';'Kellogg Co';'315';'195905120000'
>     s4=. 'KSS';'Kohl"s Corp';'250';'199205190000'
>     s5=. 'PHG';'Koninklijke Philips Electronics';'920';'198704140000'
>     s6=. 'KFT';'Kraft Foods';'1750';'200106130945'
>     s7=. 'LSI';'LSI Corp';'600';'198910020000'
>     s8=. 'LF';'LeapFrog Enterprises';'66';'200207250950'
>     s9=. 'LEG';'Leggett&  Platt';'140';'197906250000'
>
>     q=. 9 4 $ (s1,s2,s3,s4,s5,s6,s7,s8,s9)
>
> +----+-------------------------------+----+------------+
> |JCI |Johnson Controls               |700 |197412020000|
> +----+-------------------------------+----+------------+
> |JNPR|Juniper Networks               |440 |200910290930|
> +----+-------------------------------+----+------------+
> |K   |Kellogg Co                     |315 |195905120000|
> +----+-------------------------------+----+------------+
> |KSS |Kohl"s Corp                    |250 |199205190000|
> +----+-------------------------------+----+------------+
> |PHG |Koninklijke Philips Electronics|920 |198704140000|
> +----+-------------------------------+----+------------+
> |KFT |Kraft Foods                    |1750|200106130945|
> +----+-------------------------------+----+------------+
> |LSI |LSI Corp                       |600 |198910020000|
> +----+-------------------------------+----+------------+
> |LF  |LeapFrog Enterprises           |66  |200207250950|
> +----+-------------------------------+----+------------+
> |LEG |Leggett&  Platt                |140 |197906250000|
> +----+-------------------------------+----+------------+
>
> In the real world, q is an array of data read in from a CSV file.
> Next, I did this (there may be better ways, but this worked for me):
>
>    q2=. |: q
>    tsdatax=. ((>1{q2),.'-'),.((>0{q2),.'/'),.(>3{q2)
>
> And this is what the result (tsdatax) looks like (49-char literals):
>
> Johnson Controls               -JCI /197412020000
> Juniper Networks               -JNPR/200910290930
> Kellogg Co                     -K   /195905120000
> Kohl's Corp                    -KSS /199205190000
> Koninklijke Philips Electronics-PHG /198704140000
> Kraft Foods                    -KFT /200106130945
> LSI Corp                       -LSI /198910020000
> LeapFrog Enterprises           -LF  /200207250950
> Leggett&  Platt                -LEG /197906250000
>
> All nice and good, but now how do I get rid of the space fill
> characters that padded out the original cells so that I can write out
> each of these 49-char literals as ragged literals as follows:
>
> Johnson Controls-JCI/197412020000
> Juniper Networks-JNPR/200910290930
> Kellogg Co-K/195905120000
> Kohl's Corp-KSS/199205190000
> Koninklijke Philips Electronics-PHG/198704140000
> Kraft Foods-KFT/200106130945
> LSI Corp-LSI/198910020000
> LeapFrog Enterprises-LF/200207250950
> Leggett&  Platt-LEG/197906250000
>
> Please note that I'm NOT trying to get rid of ALL spaces--only the
> spaces that had been originally added as padding to initially produce
> same-sized cells in the original array.
>
> Thanks in advance for any assistance!
>
>
> Harvey
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to