Ruby 之 csv 文件读写

csv 文件写入

ruby 复制代码
require 'csv'

title = ["col1", "col2"]
contents = [["row11", "row12"], ["row21", "row22"]]

csv1 = CSV.open("test1.csv", "wb") do |csv|
  # write file title
  csv << title

  # write file body
  contents.each do |line|
    csv << line
  end
end

puts csv1.class
puts csv1.inspect

# UTF-8编码的文件,开头会加入BOM来表明编码方式
csv2 = CSV.generate("\xEF\xBB\xBF") do |csv|
    # write file title
    csv << title

    # write file body
    contents.each do |line|
      csv << line
    end
end
File.open("test2.csv", "wb"){|f| f << csv2}

puts csv2.class
puts csv2.inspect
ruby 复制代码
Array
[["row11", "row12"], ["row21", "row22"]]
String
"col1,col2\nrow11,row12\nrow21,row22\n"

csv 文件读取

ruby 复制代码
require 'csv'

csv3 = []
CSV.open("test1.csv") do |csv|
  csv.each do |line|
    csv3 << line
  end
end

puts csv3.class
puts csv3.inspect

csv4 = []
File.open("test2.csv", "rb") do |f|
  f.each do |line|
    csv4 << line
  end
end
puts csv4.class
puts csv4.inspect
ruby 复制代码
Array
[["col1", "col2"], ["row11", "row12"], ["row21", "row22"]]
Array
["\xEF\xBB\xBFcol1,col2\n", "row11,row12\n", "row21,row22\n"]
相关推荐
柒儿吖8 小时前
官方适配完的命令行ruby在鸿蒙PC上的使用方法
开发语言·ruby·harmonyos
兩尛3 天前
高频提问部分
开发语言·后端·ruby
深蓝电商API3 天前
企业级爬虫架构设计:任务调度、容错、重试、降重
开发语言·爬虫·ruby
梁正雄5 天前
linux服务-RabbitMQ 原理与安装
linux·rabbitmq·ruby
互亿无线明明6 天前
国际短信通知服务:如何为全球业务构建稳定的跨国消息触达体系?
java·c语言·python·php·objective-c·ruby·composer
Hui Baby7 天前
Mq扩充队列提高并发
开发语言·后端·ruby
老虎062710 天前
RabbitMQ(RabbitMQ的消息收发的模板工具:SpringAMQP)
分布式·rabbitmq·ruby
songgz11 天前
洋葱式双向解析器演示(Ruby)
开发语言·后端·ruby
e***985715 天前
RabbitMQ HAProxy 负载均衡
rabbitmq·负载均衡·ruby
m***923815 天前
RabbitMQ 客户端 连接、发送、接收处理消息
分布式·rabbitmq·ruby