0

CSVファイルから行を配列に分割しようとしています。次のように、ファイルのすべての内容をCSV問題なくコンソールに出力できます。

CSV.foreach('so1.csv', :headers => true, :col_sep => "\t", :skip_blanks => true) do |row|
  id, name = row[0], row[1]
  puts id, name
end

ただし、nameierow[1]names配列に分割しようとすると、次のundefined method 'split' for nil:NilClass (NoMethodError)メッセージが表示されます。

CSV.foreach('so1.csv', :headers => true, :col_sep => "\t", :skip_blanks => true) do |row|
  id, name = row[0], row[1]
  unless (id =~ /#/)
    names = name.split
  end

私も試しname.split("\n")てみname.split("\t")ましたが、役に立ちませんでした。

明確にするために、CSVファイルのスクリーンショット:

CSV スクリーンショット

CSV スクリーンショット

ここで何がうまくいかないのか、誰かが光を当てることができますか? それは素晴らしいでしょう-ありがとう。

4

1 に答える 1