面试题答案
一键面试require 'csv'
def csv_to_hash_array(file_path)
hash_array = []
CSV.foreach(file_path, headers: true) do |row|
next if row.to_s.strip.empty? # 跳过空行
begin
data_hash = {}
row.each do |header, value|
data_hash[header] = value
end
hash_array << data_hash
rescue StandardError => e
puts "格式错误: #{e.message}"
end
end
hash_array
end
你可以使用以下方式调用这个方法:
file_path = 'your_file.csv'
result = csv_to_hash_array(file_path)
puts result.inspect