如何替换CSV文件中的标题?

时间:2014-04-05 18:48:07

标签: ruby csv

我是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

1 个答案:

答案 0 :(得分:1)

您甚至不需要使用CSV库执行此操作。只需更改文件的第一行,输出其余部分:

lines = File.readlines(@filename)
lines.shift
lines.unshift(["herp", "derp", "herpaderp"].join(',') + "\n")
puts lines.join('')