2.2.30 text2cols
Contents
Menu Information
Column: Text to Columns...
Brief Information
Split a single column of text into multiple columns.
See for CatIndex, and Catrows.
Command Line Usage
text2cols ix:=[Book2]Sheet1!B delimiter:=pipe; // take pipe-separated strings in [Book2]Sheet1!B as input, output values to separate columns in new sheet
X-Function Execution Options
Variables
| Display Name |
Variable Name |
I/O and Type |
Default Value |
Description |
|---|---|---|---|---|
| Text Column | ix | Input vector<string> |
|
Text Column. Cell(s) contain a string of delimited texts. Delimiter must be one of those listed for Delimiter. |
| Delimiter | delimiter | Input int |
|
Delimiter, allowed values:
|
| Include Other Column(s) | nosplit | Input int |
|
Copy over other columns with the output?
|
| Other Column(s) | other | Input range |
|
Available when Include Other Column(s) is checked. Other columns to be copied over with output (parsed data). |
| Output | rd | Output ReportData |
|
Output. Delimited string is parsed to separate cells (columns). |
Description
This X-Function takes a cell or column of delimited text and parses it to new columns.
Examples
This example imports an ASCII file containing categorical data, uses the function to obtain row indices for each category, then outputs those row indices to new columns. The resulting sheet text2cols lists row indices for each category.
// create an empty book and import the file automobile.dat into the new book newbook; string fname$= system.path.program$ + "Samples\Statistics\automobile.dat"; impASC; // set column 2 as categorical and sort it in ascending order wks.col2.categorical.type=2; wks.col2.categorical.sort=1; // get column 2 into range variable rA range rA = [automobile]automobile!"Make"; // create a new book and use category function to copy categories in rA to column A of newbook // to column B, add row indices of occurrence for each category, as a pipe-separated list newbook; col(A)=category(rA)$; col(B)=catrows(rA)$; // taking pipe-separated strings in [Book2]Sheet1!B as input, output values to new sheet in <input>. text2cols ix:=[Book2]Sheet1!B delimiter:=pipe nosplit:=1 other:=[Book2]Sheet1!A;
Related X-Functions