使用rubygem“creek”parsingexcel
嘿家伙,所以我想通过一个Excel文件通过ruby“溪”parsing,它准确地parsing行,但我只想检索列,如只有数据在“A”的cloumn。 正确输出整个excel文件。
require 'creek' creek = Creek::Book.new 'Final.xlsx' sheet= creek.sheets[0] sheet.rows.each do |row| puts row # => {"A1"=>"Content 1", "B1"=>nil, C1"=>nil, "D1"=>"Content 3"} end
任何build议将不胜感激。
Creek不便于提取列信息,因为它将列和行一起存储在一个string散列键中。
更受欢迎的Roo允许您执行诸如sheet.column(1)
并获取整个列。 很简单。
如果你绝对必须有小溪,我注意到有一个名为Ditch的小溪,它增加了一些取柱的能力。 例:
sheet.rows.each { |r| puts "#{r.index} #{r.get('A')} - #{r.get('B')}" }
最后,如果你想使用Creek并且不使用附加组件,可以使用Hash#select:
sheet.rows.each do |row| puts row.select{ |k,v| ["A", "B"].include? k[0]} end