人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Excelで保存した顔文字が含まれているCSVの読み込みに失敗します。

以下、エラーが出るスクリプト

>|ruby|>
#!/usr/bin/ruby
require "csv"
require "nkf"

file=ARGV[0]
text_s = open(file,"rb").read

text = NKF.nkf("-w -Lu",text_s)
csv = CSV.parse(text)

csv.each do |line|
puts line
end
<<

System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/csv.rb:116:in `exist?': string contains null byte (ArgumentError)
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/csv.rb:116:in `parse'
from ./load_csv.rb:9


rails上でファイルのアップロードをする関係上、「text_s = open(file,"rb").read」の行は必ず無いといけません。また、一旦ファイルに出力する等の手段もできれば取りたくありません。どうすれば動くでしょうか。

●質問者: tomity
●カテゴリ:コンピュータ
✍キーワード:.fr ARGV byte CSV Excel
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● chyopper
●100ポイント

Excelが作るCSVファイルの文字コードはShiftJISなので

文字コードを明示してみてはどうでしょうか。

text = NKF.nkf("-Sw -Lu",text_s)

◎質問者からの返答

上手くいきました。SHIFT-JISと認識されていなかったのですね。。。。。

ありがとうございました

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ