Continuous Diggin'

プログラミングと音楽のトピックを中心に書いてます

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

xmlxpathでこねくり回したい時

RSSとかAPIxmlで取ってきて、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