MathGroup Archive 2013

[Date Index] [Thread Index] [Author Index]

Search the Archive

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?
>
>
>


  • Prev by Date: Re: Quantity
  • Next by Date: Re: plotting integrals
  • Previous by thread: Extract columns based on their the title in header
  • Next by thread: Re: Extract columns based on their the title in header