如何只解析 CSV 文件的第一行?我想确保文件中提供了所有适当的列,但不想处理整个文件。
问问题
8600 次
3 回答
20
更好的方法是简单地使用Ruby 标准库 CSV 解析器中内置的Enumerable支持:
headers = CSV.open('file.csv', 'r') { |csv| csv.first }
该块将导致文件自动关闭,并且调用将返回已解析的标头数组。
于 2013-08-07T20:22:22.760 回答
2
我想通了,希望它可以帮助别人:
# Return true if the headers match on file1 and file2
def compare_csv_files(file1, file2)
file1_first_line = CSV.parse File.open(file1) {|f| f.readline}
file2_first_line = CSV.parse File.open(file2) {|f| f.readline}
return file1_first_line == file2_first_line
end
于 2013-08-07T20:06:57.090 回答
0
给定您计算机上的文件“foo.csv”:
# Return true if the headers match on file1 and file2
def compare_csv_files(file1, file2)
CSV.parse( File.open(file1).first ) == CSV.parse( File.open(file2).first )
end
于 2013-08-07T20:07:59.870 回答