スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

rubyでUnicode文字を含むCSVを作成する

rubyでunicodeを含んだCSVを作成します。
Excel2010で読み込んだところカンマ、改行、ダブルクォートは問題ありませんでしたが
タブは表示されませんでした。
またカンマ区切りでは無く、タブ区切りなのはカンマ区切りではうまくいかないからです。
これで、Twitterのプロフィール一覧やツイート一覧などをCSVで出す場合、文字を欠落しなくて済みそうです。
タブはもう知りませんʕ•̫͡•ʔ

#coding: utf-8

def make_csv_to_file(path, data)
# BOM
File.open(path, "wb") do |file|
file.print("\xFF\xFE")
end

# Main
File.open(path, "ab:UTF-16LE") do |file|
data.each() do |row|
column_first = true
row.each() do |column|
if column_first
column_first = false
else
file.print("\t")
end
file.print('"' + column.gsub('"', '""') + '"')
end
file.print("\r\n")
end
end
end

data = [["a,b\r\nc", "ef\tg", "h\nij"],["ʕ•̫͡•ʔ", "1\"2\"3", "456"]]
make_csv_to_file('./test.csv', data)
スポンサーサイト

COMMENTS

COMMENT FORM

TRACKBACK


この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。