我是ruby的新手,也是编程方面的新手。
您如何更改csv文件的标题?
foo, bar, foobar
1, 2, 3,
4, 5, 6,
7, 8, 9,
更改为:
herp, derp, herpaderp
1, 2, 3,
4, 5, 6,
7, 8, 9,
我找到了this question,但由于我使用的是内置的&csv'图书馆而不是旧的' fastcsv'图书馆。 (在Mac OSX上使用ruby 2.0.0)
我尝试了什么。
require 'csv'
@filename = ARGV[0]
new_headers = ["herp", "derp", "herpaderp"]
origional_csv = CSV.read(@filename, {headers: true, return_headers: true })
headers = CSV.open(@filename, 'r', :headers => true).read.headers
puts headers
#Change headers to new_headers ?
使用foo.csv文件从命令行调用test.rb
$ ruby test.rb foo.csv
foo, bar, foobar
答案 0 :(得分:1)
您甚至不需要使用CSV库执行此操作。只需更改文件的第一行,输出其余部分:
lines = File.readlines(@filename)
lines.shift
lines.unshift(["herp", "derp", "herpaderp"].join(',') + "\n")
puts lines.join('')