Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.soft-sys.math.mathematica > #1362
| From | annetts729 <annetts729@gmail.com> |
|---|---|
| Newsgroups | comp.soft-sys.math.mathematica |
| Subject | Re: read CSV |
| Date | 2011-03-31 11:04 +0000 |
| Organization | Steven M. Christensen and Associates, Inc and MathTensor, Inc. |
| Message-ID | <in1n31$6ql$1@smc.vnet.net> (permalink) |
| References | <imus7l$i3t$1@smc.vnet.net> |
Hi Alan,
On Mar 30, 5:13 pm, Alan <alan.is...@gmail.com> wrote:
> I've received some files formatted like below.
> How can I read selected columns into a list?
> I'm coming from a background where I'd read in each line,
> discarding the first, then (in this case at least)
> split on the comma, and coerce the type. So I'm happy
> to do that if I can figure out how. (Naturally I could
> preprocess the data into a form that say ReadList
> likes better, but I'm looking for a pure Mathematica solution.)
>
> Thanks,
> Alan Isaac
>
> "x","y","color","pen down?"
> "0","0.26161459854014585","105","true"
> "1","0.2665251497682828","105","true"
> "2","0.29244385081680907","105","true"
> "3","0.31995416628471895","105","true"
Something like
irawd = Import["Isaac.txt", "Table"] (* read data *);
ihedr = irawd[[1]] (* header *);
idata = Rest@irawd (* siphon off from rest of data *);
idata = StringReplace[#, {"\"" -> "", "true" -> "True"}] & /@ idata
(* string processing *);
idata = StringSplit[#, ","] & /@ idata (* split line into strings *);
idata = Map[Flatten, idata, 1] (* and flatten appropriately *)
will read data in the file which is cut from your post.
Now we want to assign variables to columns. Use
xcord = ToExpression@idata[[All, 1]] ;
ycord = ToExpression@idata[[All, 2]];
or simply
cords = ToExpression@idata[[All, {1, 2}]];
colour = ToExpression@idata[[All, 3]];
pen = idata[[All, 4]];
which we can use like
rawg = If[pen[[#]],
{Directive[Hue[colour[[#]]/255], PointSize[.01]],
Point[cords[[#]]]},
{Directive[White], Point[cords[[#]]]}
] & /@ Range@Length@colour;
Show[Graphics@rawg, Frame -> True, AspectRatio -> .75]
D.
Back to comp.soft-sys.math.mathematica | Previous | Next — Previous in thread | Find similar | Unroll thread
read CSV Alan <alan.isaac@gmail.com> - 2011-03-30 09:13 +0000 Re: read CSV David <dlkeith@comcast.net> - 2011-03-31 09:03 +0000 Re: read CSV David Bailey <dave@removedbailey.co.uk> - 2011-03-31 09:03 +0000 Re: read CSV Peter Breitfeld <phbrf@t-online.de> - 2011-03-31 09:04 +0000 Re: read CSV annetts729 <annetts729@gmail.com> - 2011-03-31 11:04 +0000
csiph-web