如何解析csv文件以检查csv文件中所有数组中是否存在值?只需拉出包含该值的数组并显示它?
require 'csv'
########
## Ask for Serial number
########
serial_number = ask("Product serial number?", true)
serial_number = serial_number.to_s
serial_number = serial_number.upcase
stamp_date= Time.now
old = Time.now.to_i
###################
## CHECK if SN exist in Serial List
###################
CSV.foreach('procedures/Serial.csv') do |row|
check_serial = row[0]
答案 0 :(得分:1)
假设你有这个csv文件:
# starships.csv
serial_number,ship_name,speed
NCC-1701,USS Enterprise,Warp 8
NCC-74656,USS Voyager,Warp 9.975
例如,您可以通过以下方式查找序列号:
require 'csv'
CSV.foreach('starships.csv', headers: true) do |row|
p row['ship_name'] if row['serial_number'] == "NCC-74656"
# whatever code
end
#=>"USS Voyager"
我不知道代码的第一部分,但第二部分缺少迭代循环的end
。
如果您设置headers: true
,则会跳过第一行作为数据,并用于构建访问键,例如,您可以使用row['ship_name']
代替row[0]
。