rubyのちょっとした処理のsnippet
ちょっとした処理をrubyでさくっと書くときのテンプレートをまとめておこうと思います。
CSVファイルを読み込んで、ちょっとした処理をしたい時
csvファイルをポンと投げられたときに。
#!/usr/bin/env ruby # encoding: utf-8 require 'csv' CSV.open("NAME.csv", "w") do |row| #何かしらの処理 end
ファイルの行ごとにシャッフルしたものを作成したい時
データのCSVのテキストファイルなんかをもらったときに。 機械学習で使うときによくやりそうなので。 引数にファイル名を入れて使う。
#!/usr/bin/env ruby # encoding: utf-8 content = [] open(ARGV[0]) do |file| while l = file.gets fields = content.push(l) end end content.shuffle! ramdom_file = open(ARGV[0] + "_random", "w") content.each do |item| ramdom_file.write(item) end
xmlをxpathでこねくり回したい時
RSSとかAPIをxmlで取ってきて、xpathでこねくり回したい時に使いたい。
#!/usr/bin/env ruby # encoding: utf-8 require "rexml/document" file = File.new("NAME.xml") doc = REXML::Document.new file REXML::XPath.each( doc, "[XPATHの記述]" ) do |item| #何かしらの処理 end