Ruby CSV处理 #

一、读取CSV #

1.1 基本读取 #

ruby
require 'csv'

CSV.foreach("data.csv") do |row|
  puts row
end

data = CSV.read("data.csv")
data = CSV.table("data.csv")

1.2 带表头读取 #

ruby
CSV.foreach("data.csv", headers: true) do |row|
  puts row["name"]
  puts row["age"]
end

二、写入CSV #

ruby
require 'csv'

CSV.open("output.csv", "w") do |csv|
  csv << ["name", "age", "city"]
  csv << ["Ruby", 30, "Beijing"]
  csv << ["Rails", 25, "Shanghai"]
end

data = [["name", "age"], ["Ruby", 30]]
CSV.open("output.csv", "w") do |csv|
  data.each { |row| csv << row }
end

三、选项 #

ruby
CSV.foreach("data.csv",
  col_sep: ";",
  row_sep: "\n",
  quote_char: '"',
  encoding: "UTF-8"
) do |row|
  puts row
end

四、总结 #

本章我们学习了:

  1. CSV.foreach:逐行读取
  2. CSV.read:全部读取
  3. CSV.open:写入CSV
  4. 选项配置:分隔符、编码

接下来让我们学习Ruby的高级主题!

最后更新:2026-03-27