| | |
Help Handling CSV Columns
Please support our Ruby advertiser: PostgreSQL or MySQL? Compare and contrast the two most popular open source databases
![]() |
•
•
Join Date: Jun 2009
Posts: 1
Reputation:
Solved Threads: 0
I have been struggling for days on just the first part of this script.
Please help! I need to add the ability to delete the last column of each
csv, which vary in their lengths.
Thanks!
Please help! I need to add the ability to delete the last column of each
csv, which vary in their lengths.
Ruby Syntax (Toggle Plain Text)
require 'rubygems' require 'roo' require 'fileutils' require 'rio' FileUtils.mkdir_p "/Users/pshapiro/Desktop/Excel/xls" FileUtils.mkdir_p "/Users/pshapiro/Desktop/Excel/tmp" FileUtils.mkdir_p "/Users/pshapiro/Desktop/Excel/csv" @filesxls = Dir["/Users/pshapiro/Desktop/Excel/*.xls"] for file in @filesxls FileUtils.move(file,"/Users/pshapiro/Desktop/Excel/xls") end @filesxls = Dir["/Users/pshapiro/Desktop/Excel/xls/*.xls"] @filetmp = Dir["/Users/pshapiro/Desktop/Excel/xls/*.xls_tmp"] for file in @filesxls convert = Excel.new(file) convert.default_sheet = convert.sheets[0] convert.to_csv(file+"_tmp") end @filestmp = Dir["/Users/pshapiro/Desktop/Excel/xls/*.xls_tmp"] for file in @filestmp FileUtils.move(file,"/Users/pshapiro/Desktop/Excel/tmp") end dir = "/Users/pshapiro/Desktop/Excel/tmp/" files = Dir.entries(dir) files.each do |f| next if f == "." or f == ".." oldFile = dir + "/" + f newFile = dir + "/" + File.basename(f, '.*') File.rename(oldFile, newFile) end files = Dir.entries(dir) files.each do |f| next if f == "." or f == ".." oldFile = dir + "/" + f newFile = dir + "/" + f + ".csv" File.rename(oldFile, newFile) end @filescsv = Dir["/Users/pshapiro/Desktop/Excel/tmp/*.csv"] for file in @filescsv FileUtils.move(file,"/Users/pshapiro/Desktop/Excel/csv") end FileUtils.rm_rf("/Users/pshapiro/Desktop/Excel/tmp") @filescsv = Dir["/Users/pshapiro/Desktop/Excel/csv/*.csv"] for file in @filescsv 5.times { text="" File.open(file,"r"){|f|f.gets;text=f.read} File.open(file,"w+"){|f| f.write(text)} } end rio("/Users/pshapiro/Desktop/Excel/csv/Attention.csv").csv.skipcolumns(1..2) > rio('/Users/pshapiro/Desktop/Excel/csv/Attention_Fixed.csv').csv(',')
Thanks!
![]() |
Similar Threads
- Mysql edit (PHP)
- EXCEL CSV FILES Handling (Java)
- Python CSV help! (Python)
- checkbox in datagridview c# (C#)
- Reading in certain columns from CSV files into array C++ (C++)
- Suggestions for perl resources? Dealing with csv data. (Perl)
Other Threads in the Ruby Forum
- Previous Thread: command line argument -- ruby
- Next Thread: watir and selectlist
| Thread Tools | Search this Thread |





