#author("2016-04-30T14:43:02+09:00","default:wikiwriter","wikiwriter") #author("2016-04-30T14:44:04+09:00","default:wikiwriter","wikiwriter") *目次 [#d55b1a28] #contents *関連ページ [#w944b4ad] -[[Ruby]] *基本 [#xf3376b6] csv.rbが標準添付されているのでそれを使う。 *全行読み込み [#s254dcfd] CSV.readlinesを使う。配列の配列が帰ってくる -CSV.readlinesを使う。配列の配列が帰ってくる #pre{{ CSV.readlines("test.csv").each do |row| p row end #=> #["a", "b", "c"] #["d", "e", "f"] }} *文字列読み込み [#b1ed62fd] -CSV.parse("A,B,C\nd,e,f\nG,H,I"){|rows| p rows }. -CSV.parseを使う。配列の配列が帰ってくる #pre{{ CSV.parse("a,b,c").each do |row| p row end #=> #["a", "b", "c"] CSV.parse("a,b,c\nd,e,f").each do |row| p row end #=> #["a", "b", "c"] #["d", "e", "f"] r = CSV.parse("x,y,z") p r #=> #[["x", "y", "z"]] }} *Ruby1.9対応 [#pf9c30f5] **エンコーディングを指定した読み込み [#s79e2dfe] -ファイルの文字コードが分かっている場合、foreachでencodingを指定して読み込める #pre{{ CSV.foreach(filename, encoding:"Windows-31J") do |row| end }} **エンコーディングを指定した書き出し [#oa4c937a] -ファイルのエンコーディングをopenで指定する。 #pre{{ CSV.open(filename, "wb:SJIS") do |csv| csv << ["あ", "い", "う"] end CSV.open(filename, "wb", encoding:"SJIS") do |csv| csv << ["か", "き", "く"] end }}