I would like to parse some excel CVS data which has a repetitive block
“Experiment ID: 1”,
"Subject ID: 1013938829432171e868c340.
Trial,stimulus,time,type,field1,field2,text_response,Abs. time of
26,undefined,14828,KEY,RETURN,UNUSED,DCS,Sat Oct 15 17:48:04 GMT-0400
23,undefined,15078,KEY,RETURN,UNUSED,244,Sat Oct 15 17:48:19 GMT-0400
7,nixontrialleft copy.pct [TAG: 1],5953,KEY,1,UNUSED,Sat Oct 15
17:49:24 GMT-0400 2005,
8,nixontrialfront copy.pct [TAG: 3],6250,KEY,3,UNUSED,Sat Oct 15
17:49:31 GMT-0400 2005,
9,nixontrialright copy.pct [TAG: 2],2469,KEY,2,UNUSED,Sat Oct 15
17:49:34 GMT-0400 2005,
and a new block starts
“Experiment ID: 3”,0.92
Arr = IO.readlines(File.expand_path("~/Desktop/FaceRetest.cvs"))
has a length of 1, why?
I noticed that the puts has ^M everywhere
seems to split the array into lines.
Arr = Arr.split(",")
gives me a message, private method `split’ called
puts Arr.length gets me no response. I expected split to take the 1D
array and transform it into a 2D array.
What is the best way to get the excel CVS data into a Ruby 2D array for
Once I have a 2D array, what is the best way to find the index of the
key word Trial (which starts the data I want).
In matlab, I would do something like,
Find the index pair (I,J) at which Array = Trial
Extract the array starting at row I+1 to I+82, for columns [2, 3, and
and I would love some pointers at Ruby structures, methods, etc I need
to look at.
- First ruby code – Thanks for your help