Могу ли я удалить столбцы из CSV, используя Ruby? - PullRequest
5 голосов
/ 08 февраля 2012

Глядя на документацию по библиотеке CSV для Ruby, я почти уверен, что это возможно и просто.

Мне просто нужно удалить первые три столбца файла CSV, используя Ruby, но у меня нет 'у него был какой-то успех в запуске.

Ответы [ 3 ]

6 голосов
/ 09 января 2015
csv_table = CSV.read(file_path_in, :headers => true)
csv_table.delete("header_name")
csv_table.to_csv # => The new CSV in string format

Проверьте документацию CSV::Table: http://ruby -doc.org / stdlib-1.9.2 / libdoc / csv / rdoc / CSV / Table.html

1 голос
/ 11 сентября 2015
csv_table = CSV.read("../path/to/file.csv", :headers => true)

keep = ["x", "y", "z"]

new_csv_table = csv_table.by_col!.delete_if do |column_name,column_values|
  !keep.include? column_name
end

new_csv_table.to_csv
1 голос
/ 08 февраля 2012

А как же:

require 'csv'

File.open("resfile.csv","w+") do |f|
  CSV.foreach("file.csv") do |row|
    f.puts(row[3..-1].join(","))
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...