|
[ruby-list:42947] CSV: msg#00008lang.ruby.japanese
今野です。 csvファイルを作成して、リファレンスマニュアル http://www.ruby-lang.org/ja/man/?cmd=view;name=CSV に書いてある通りの例 require "csv" CSV.open("test.csv", 'r') do |row| puts row.join("<>") end または、 require "csv" CSV.foreach('test.csv'){|row| puts row.join('<>') } を実行すると、 /usr/lib/ruby/1.8/csv.rb:639:in `get_row': CSV::IllegalFormatError (CSV::IllegalFormatError) from /usr/lib/ruby/1.8/csv.rb:556:in `each' from /usr/lib/ruby/1.8/csv.rb:531:in `parse' from /usr/lib/ruby/1.8/csv.rb:311:in `open_reader' from /usr/lib/ruby/1.8/csv.rb:94:in `foreach' from t.rb:8 なるエラーが出ます。 ちゃんと動くようにするには、何が足りないのでしょう? その昔、 require "csv" f = File.open('test.csv') crp = CSV::Reader.parse(f) crp.each do |gyou| *** end f.close で、だましだまし動いていたのですが、 これも今は効かなくなっています。 やはり、下記の様に、get_rowで引っかかっています。 /usr/lib/ruby/1.8/csv.rb:639:in `get_row': CSV::IllegalFormatError (CSV::IllegalFormatError) from /usr/lib/ruby/1.8/csv.rb:556:in `each' from Tmp_mi_rubymode.rb:4 それで、556行目を見てみると、 parsed_cells = get_row(row) これは、class Reader の中にあるので、見てみると、 def get_row(row) raise NotImplementedError.new('Method get_row must be defined in a derived class.') end だ、そうです。(http://www.ruby-lang.org/ja/man/?cmd=view;name=NotImplementedError); 639行目は、class IOReader < Reader の中の、def get_row(row) の中で、 raise IllegalFormatError.new となっています。要するに、「使えません」といわれている。 csvファイルが扱えると、大変助かるのですが・・・ よろしくお願いします。 -- 今野 滋
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | [ruby-list:42946] Re: instant rails インストール! irbを起動するには?, きむらこういち |
|---|---|
| Next by Date: | [ruby-list:42948] Re: CSV, rubikitch |
| Previous by Thread: | [ruby-list:42942] [ANN] Rubyの本読書会第一回開催のお知らせ, MOROHASHI Kyosuke |
| Next by Thread: | [ruby-list:42948] Re: CSV, rubikitch |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |