簡體   English   中英

在Ruby中連續計算CSV中的元素數量

[英]count number of elements in a CSV in a row in Ruby

我有以下代碼來處理CSV:

CSV.foreach("./matrix1.csv") do |row|
 puts "Row is: " 
 print row
 line_count += 1
end

並且它成功地找到了CSV中的行數。 但是,如何在一行(行)中找到CSV元素的數量。 例如,我有以下CSV

1,2,3,4,5

如何查看元素數為5?

如果每一行包含相同數量的元素,則:

CSV.open('test.csv', 'r') { |csv| puts csv.first.length }

如果不是,則為每一行計數:

CSV.foreach('test.csv', 'r') { |row| puts r.length }
row.size 

按照@Stefan的建議工作

但是更容易出錯的方法是:

CSV.foreach('test.csv','r').max_by(&:length).length

另一種方法是獲取當前行的大小:

CSV.foreach('test.csv', 'r') { |row| puts r.length }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM