Re: Extract columns based on their the title in header
- To: mathgroup at smc.vnet.net
- Subject: [mg131686] Re: Extract columns based on their the title in header
- From: Bob Hanlon <hanlonr357 at gmail.com>
- Date: Sat, 21 Sep 2013 04:35:30 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-outx@smc.vnet.net
- Delivered-to: mathgroup-newsendx@smc.vnet.net
- References: <20130920110717.97AEE6A3D@smc.vnet.net>
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 at 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?
>
>
>
- References:
- Extract columns based on their the title in header
- From: Joug Raw <jougraw@gmail.com>
- Extract columns based on their the title in header