ruby读取csv行数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby读取csv行数相关的知识,希望对你有一定的参考价值。

读取csv
文件中读取:一次读入全部(设置headers使 CSV#shift() 以CSV::Row对象返回而不是数组;使
require'csv'CSV#read() 返回 CSV::Table 对象而不是数组)CSV.read('test.csv')#=> Array#headers默认为false,如果设置为true,csv的第一行将被视为标题CSV.read('test.csv',headers:true)#=> CSV::Table#headers设置为数组,这个数组将被作为标题CSV.read('test.csv',headers:[1,2,3,4,5])#headers设置为字符串,这个字符串内容将被作为标题CSV.read('test.csv',headers:"1,2,3,4,5")
​ 文件中读取:一次读入一行
#由于headers配置,返回类型发生变化(这个方法默认为第一行是标题,不会进行返回)CSV.foreach'test.csv'do|row|puts row.class#=> ArrayendCSV.foreach('test.csv',headers:true)do|row|puts row.class#=> CSV::Rowend#return_headers:true 返回标题CSV.foreach('test.csv',return_headers:true)do|row|p row#=> 返回Arrayend
​ 字符串中读取:一次读取一行
CSV.parse("CSV,data,String")do|row|# use row here...end
​ 字符串中读取:全部读取
CSV.parse("CSV,data,String")#[]方法需要返回的类型为CSV::ROW;所以设置参数headers:truecontent = File.read('data.csv') csv = CSV.parse(content,headers:true) sum =0csv.eachdo|row|sum += row['id'].to_iendputs sum
参考技术A ruby读取csv行数:
文件中读取:一次读入全部(设置headers使 CSV#shift() 以CSV::Row对象返回而不是数组;使
require'csv'CSV#read() 返回 CSV::Table 对象而不是数组)CSV.read('test.csv')#=> Array#headers默认为false,如果设置为true,csv的第一行将被视为标题CSV.read('test.csv',headers:true)#=> CSV::Table#headers设置为数组,这个数组将被作为标题CSV.read('test.csv',headers:[1,2,3,4,5])#headers设置为字符串,这个字符串内容将被作为标题CSV.read('test.csv',headers:"1,2,3,4,5")
​ 文件中读取:一次读入一行
#由于headers配置,返回类型发生变化(这个方法默认为第一行是标题,不会进行返回)CSV.foreach'test.csv'do|row|puts row.class#=> ArrayendCSV.foreach('test.csv',headers:true)do|row|puts row.class#=> CSV::Rowend#return_headers:true 返回标题CSV.foreach('test.csv',return_headers:true)do|row|p row#=> 返回Arrayend
​ 字符串中读取:一次读取一行
CSV.parse("CSV,data,String")do|row|# use row here...end
​ 字符串中读取:全部读取
CSV.parse("CSV,data,String")#[]方法需要返回的类型为CSV::ROW;所以设置参数headers:truecontent = File.read('data.csv') csv = CSV.parse(content,headers:true) sum =0csv.eachdo|row|sum += row['id'].to_iendputs sum

Ruby--CSV

1. 解析CSV:

(1)读取文件:csv = CSV.read("#{Rails.root}/public/data/statecountycity.csv", :headers => true, :header_converters => lambda{|h| h.strip})

(2)遍历:csv.each do |row| {c_row = row.to_hash ......}

以上是关于ruby读取csv行数的主要内容,如果未能解决你的问题,请参考以下文章

Ruby 1.9.2 - 读取和解析远程 CSV

PHP 读取/导出 CSV文件

PHP 读取/导出 CSV文件

Pyspark 的 sqlContext.read.csv() 函数读取的行数比实际 .csv 文件中的行数多

如何在 ruby​​ 中读取没有 quote_char 的 CSV?

PHP 读取和导出 CSV文件