如何查找和忽略CSV文件中的不同数据?

时间:2013-10-24 19:29:21

标签: ruby csv

我有一个CSV文件,其中包含不同电视节目的名称,ID和标签:

NAME: The Venture Bros. -    ID: 187 -      HASHTAG: VentureBros
NAME: Friday Night Lights -  ID: 141 -      HASHTAG: FNL
NAME: Curb Your Enthusiasm - ID: 30 -       HASHTAG: CurbYourEnthusiasm
NAME: Sleepy Hallow -        ID:  -       HASHTAG: SleepyHallow
NAME: The Blacklist -        ID:  -       HASHTAG: TheBlacklist
NAME: The Following -        ID: 3958 -   HASHTAG: TheFollowing

我在Ruby中编写了一个脚本输出到终端。这是我的代码:

require 'csv'

csv_text = File.read('hashtags.csv')
csv = CSV.parse(csv_text, :headers => true)

csv.each do |row|
  hastag = row['HASHTAG'].sub! '#', ''
  puts "NAME: #{row['NAME']} - \tID: #{row['ID']} - \tHASHTAG: #{row['HASHTAG']}"
end 

我需要写一些将通过CSV文件并忽略没有分配ID的节目。

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:2)

您可以在print语句的末尾添加条件if row['ID'].nil?

    puts "NAME: #{row['NAME']} - \tID: #{row['ID']} - \tHASHTAG: #{row['HASHTAG']}" if row['ID'].nil?