Basic question

Hello,

Suppose “OOO.csv” is a data file with 9 columns, and I want to create a
new file that is consisted of 2nd, 5th, and 7th columns of the OOO.csv
(i.e., subset of the original), how do I do this?

Thanks.

Hi

Iterate over OOO.csv’s lines, split each line as you wish (probably
using slice notation is the easiest for fixed length columns), and
writing each slice into the desired destination file.

Regards,
Alder

This is a Ruby and not a Basic group.

[email protected] wrote:

Suppose “OOO.csv” is a data file with 9 columns, and I want to create a
new file that is consisted of 2nd, 5th, and 7th columns of the OOO.csv
(i.e., subset of the original), how do I do this?

Use CSV for parsing and writing:

http://www.ruby-doc.org/stdlib/libdoc/csv/rdoc/index.html

Kind regards

robert

On Mar 22, 2006, at 9:58 AM, [email protected] wrote:

Hello,

Suppose “OOO.csv” is a data file with 9 columns, and I want to
create a
new file that is consisted of 2nd, 5th, and 7th columns of the OOO.csv
(i.e., subset of the original), how do I do this?

My suggestion, if you don’t mind using a non-standard library:

Neo:~/Desktop$ ls
000.csv trim_columns.rb
Neo:~/Desktop$ cat 000.csv
1,2,3,4,5,6,7,8,9
a,b,c,d,e,f,g,h,i
Neo:~/Desktop$ ruby -rubygems trim_columns.rb 000.csv
2,5,7
b,e,g
Neo:~/Desktop$ cat trim_columns.rb
#!/usr/local/bin/ruby -w

require “faster_csv”

FasterCSV.filter { |row| row.replace(row.values_at(1, 4, 6)) }

END

Hope that helps.

James Edward G. II