最終更新: twoflat1017 2013年01月29日(火) 01:06:00履歴
(編集中)
- ここに記事があった
- DOMを使用する。検索キーワードは「ruby xml dom」で調査中。CVSのヘッダ行をタグ名として扱い、各要素をXMLのノードとして生成してくれるライブラリがあると嬉しいのだが…。
- ノードの作成中に遭遇したエラー
読み込みに関して、ネットで色々調査して分かったことを書き留める。
- 1.8系では、標準でCSVクラスが用意されているのでそれを使えばいいこと。パースの速さを求める場合はFasterCSVを使う方法もある
- 1.9系では、FasterCSVを元にしたライブラリが標準として採用されている。従来通りCSVクラスで処理可能
- FasterCSVよりもパースが高速であることを謳っているライブラリがここにある。
- 詳細な調査をおこなっていないので分からないが、1.9系のCSV解析は高速化されているかもしれない
- 個人的にメリットを感じているのは、…,"…\n…",…のようにダブルクオーテーション内の改行があっても読み込み時の区切りとして扱われないところ
- デメリットは標準CSVと同様のメソッドが提供されていないこと。具体的にはforeachのみの実装のため、使用する際は注意を要する。その点は作者本人もコメントとして残している。
- メリットがデメリットを圧倒しているため、自分が必要としているメソッドを追加することを検討中
- 文字コードの件を何回か調べているような気がしてきた。入出力およびスクリプト内部で扱う文字コードをUTF8やShiftJISなどに統一したほうがいいのだろう。そうすればひな形にもなる
- これでRubyをプログラミングする場合は、予約語が強調表示されてほしいので、強調表示を導入
ここで回答されているように、1.9系と1.8系で指定の仕方が異なる。1.9系ではスクリプトと同じ階層にある場合は./をつけるように変わったようだ。
ヌル文字列に対してstrip!メソッドを呼ぶと、
今回はCSVファイルの処理中、カンマで終わっている行をCSV::Readerで読み込み、ホワイトスペースを取り除くためstrip実行中に発生した事象
undefined method `strip' for nil:NilClass (NoMethodError)が表示される。リファレンスにはそういった例がないので注意。
今回はCSVファイルの処理中、カンマで終わっている行をCSV::Readerで読み込み、ホワイトスペースを取り除くためstrip実行中に発生した事象
- 文字列で指定する場合が多いだろう。その際はダブルクオーテーションではなくシングルクォーテーションのどちらがいいのか。OLEで使う場合はシングルクォーテーションで囲んだほうがいい気がする。当たり前すぎ?
- Rubyist Magazine - Win32OLE 活用法 【第 2 回】 Excel
- Excel規定の定数をロードする方法について書かれている。これがないとスクリプトの可読性が低下するので有難い
- Ruby で Excel を弄る
- Ruby: Win32OLEでの Excelの操作
- OpenOffice.orgとRubyを使ってWordファイルをバッチ処理する
- 1.9系でのマルチバイト文字の扱いについて
- マルチバイト文字の本家?
- C#やVBをLLに変換してくれるサービス
- Rubyプログラミング 6. OLEオートメーション
- Win32OLE 製作過程の雑記
- ダックタイピングに関する疑問
コメントをかく