当前位置: 首页 > news >正文

Ruby 之 csv 文件读写

csv 文件写入

require 'csv'title = ["col1", "col2"]
contents = [["row11", "row12"], ["row21", "row22"]]csv1 = CSV.open("test1.csv", "wb") do |csv|# write file titlecsv << title# write file bodycontents.each do |line|csv << lineend
endputs csv1.class
puts csv1.inspect# UTF-8编码的文件,开头会加入BOM来表明编码方式
csv2 = CSV.generate("\xEF\xBB\xBF") do |csv|# write file titlecsv << title# write file bodycontents.each do |line|csv << lineend
end
File.open("test2.csv", "wb"){|f| f << csv2}puts csv2.class
puts csv2.inspect
Array
[["row11", "row12"], ["row21", "row22"]]
String
"col1,col2\nrow11,row12\nrow21,row22\n"

csv 文件读取

require 'csv'csv3 = []
CSV.open("test1.csv") do |csv|csv.each do |line|csv3 << lineend
endputs csv3.class
puts csv3.inspectcsv4 = []
File.open("test2.csv", "rb") do |f|f.each do |line|csv4 << lineend
end
puts csv4.class
puts csv4.inspect
Array
[["col1", "col2"], ["row11", "row12"], ["row21", "row22"]]
Array
["\xEF\xBB\xBFcol1,col2\n", "row11,row12\n", "row21,row22\n"]

http://www.lryc.cn/news/197353.html

相关文章:

  • Android AMS——进程LRU列表更新(十七)
  • 【数据可视化】—大屏数据可视化展示
  • 计算机算法分析与设计(12)---贪心算法(最优装载问题和哈夫曼编码问题)
  • 打造属于自己的vue图标库
  • C++11线程池
  • 企业打造VR虚拟展厅,开启商务洽谈新时代!
  • linux部署gitlab
  • c++_learning-基础部分
  • 支持PC端、手机端、数据大屏端的Spring Cloud智慧工地云平台源码
  • 给cmd控制台程序 套壳 美化
  • 【系统架构设计】架构核心知识: 1 构件和中间件
  • 通过开发者工具-网络排查响应时间过长的问题
  • 【Python】Python 实现 Excel 到 CSV 的转换程序
  • BUUCTF题解之[极客大挑战 2019]Havefun 1
  • DIV+CSS网页布局
  • python二次开发CATIA:CATIA Automation
  • 2023年中国云计算软件市场规模、市场结构及市场份额情况分析[图]
  • docker入门加实战—部署Java和前端项目
  • 机器人制作开源方案 | 行星探测车概述
  • Git基础命令
  • C#中Semaphore 和 CountdownEvent 的使用总结
  • THE PLANETS:EARTH vulnhub
  • 【随想】每日两题Day.13
  • CMake Cookbook
  • 钢铁异常分类 few-shot 问题 小陈读paper 钢铁2
  • flask实战(问答平台)
  • RK3568驱动模块编译进内核
  • 黑马程序员Java Web--14.综合案例--修改功能实现
  • 开源协议介绍
  • solidworks 2024新功能之-打造更加智能的工作 硕迪科技