Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Extract columns based on their the title in header
Replies: 6   Last Post: Oct 20, 2013 11:01 PM

 Messages: [ Previous | Next ]
 Bob Hanlon Posts: 906 Registered: 10/29/11
Re: Extract columns based on their the title in header
Posted: Sep 21, 2013 4:34 AM

dataList = {
{"Name", "Sex", "Age"},
{"Tom", "M", 12},
{"Bob", "M", 13},
{"Lily", "F", 11},
{"Jack", "M", 14},
{"Michael", "M", 10}
};

Cases[dataList // Transpose,
{"Name" | "Age", ___}] // Transpose

{{"Name", "Age"}, {"Tom", 12}, {"Bob", 13}, {"Lily", 11}, {"Jack",
14}, {"Michael", 10}}

(dataList // Transpose)[[
Position[dataList[[1]], "Name" | "Age"] //
Flatten]] // Transpose

{{"Name", "Age"}, {"Tom", 12}, {"Bob", 13}, {"Lily", 11}, {"Jack",
14}, {"Michael", 10}}

Bob Hanlon

On Fri, Sep 20, 2013 at 7:07 AM, Joug Raw <jougraw@gmail.com> wrote:

>
> I import a CSV file like this:
>
> Name, Sex, Age, ... , ...
> Tom, M, 12, ... ,...
> Bob, M, 13,
> Lily, F, 11,
> Jack, M, 14,
> Micheal, M, 10,
> ..
>
> It become a list and I call it datalist. Then I want only extract the Name
> and Age for each child in the list. I did some thing like:
>
> ColumPos =
> Map[#[[2]] &,
> Map[Position[datalist, #] &, {"Name",
> "Age"}], {2}]
> Map[Extract[#, ColumPos] &, datalist]
>
> Yes, it works. But the code are bit complicated. Any one has any idea to
> get it done in a more efficient way?
>
>
>

Date Subject Author
9/21/13 Dr.J
9/21/13 Sseziwa Mukasa
9/21/13 Itai Seggev
9/21/13 Bob Hanlon
9/21/13 Dr.J
10/20/13 Trichy V. Krishnan