Использование класса CSV для анализа a.csv-файл в Ruby
Я использую Ruby 1.9.3, и я обнаружил класс CSV, но я не могу заставить его работать. В принципе, я хочу иметь возможность манипулировать различными вариантами CSV, а затем вытащить.csv-файл в массив для работы, в конечном итоге выталкивая этот массив обратно в новый файл.
это то, что у меня есть в настоящее время:
require 'csv'
CSV_Definition = CSV.New(:header_converters => :symbol)
CSV_Total = CSV.Read(File.Path("C:ScriptsSQL_Log_0.csv"))
однако я не думаю, что это правильный способ изменить :header_converters
. В настоящее время я не могу заставить IRB работать для анализа этих фрагментов кода (я не конечно, как require 'csv'
в IRB), поэтому у меня нет конкретного сообщения об ошибке. Мои ожидания для этого будут заключаться в создании массива (CSV_Total), который имеет заголовок без символов в нем. Следующий шаг-поместить этот массив в новый файл. В основном это будет скраб CSV-файлов.
1 ответов
Ruby раньше имел собственную встроенную библиотеку CSV, которая была заменена на FasterCSV начиная с версии 1.9, нажмите на ссылку для документации.
все, что требуется с вашей стороны, это использовать для импорта класса CSV через require 'csv'
оператор везде, где вы хотите использовать его и обрабатывать соответственно. Это довольно легко построить массив с помощью оператора foreach , например:
человек.csv
Merry,Christmas
Hal,Apenyo
Terri,Aki
Willy,Byte
process_people.rb
require 'csv'
people = []
CSV.foreach(File.path("people.csv")) do |row|
# Where row[i] corresponds to a zero-based value/column in the csv
people << [row[0] + " " + row[1]]
end
puts people.to_s
=> [["Merry Christmas"], ["Hal Apenyo"], ["Terri Aki"], ["Willy Byte"]]