ruby

rubyで簡単に配列の和や平均:injectメソッド

ちょっとわかりにくいけど非常に便利なinjectメソッド - 勉強日記 http://akisute3.hatenablog.com/entry/20111122/1322153061配列の平均 speed=[1.3,3.3,2.3,5.5,2.3] ave_speed=speed.inject(:+)/speed.length

yahoo検索で検索件数の取得

yahoo検索で検索件数の取得 #encoding: utf-8 require 'rubygems' require 'hpricot' require 'mechanize' require 'open-uri' require 'uri' #$KCODE='u' text1=URI.encode(ARGV[0]); agent=Mechanize.new agent.get("http://search.yahoo.co.jp/search?p=#…

wikipediaから元号と西暦の換算表を作る

wikipediaから元号と西暦の換算表を作る 元号一覧(日本)のページをスプレイピング http://ja.wikipedia.org/wiki/%E5%85%83%E5%8F%B7%E4%B8%80%E8%A6%A7_(%E6%97%A5%E6%9C%AC) 出力例 大化1,大化一,大化元,645 大化2,大化二,大化二,646 大化3,大化三,大化…

rubyでRのorder

rubyでRのorder a=[5,2,3,1] (a.length).times.sort{|x,y| a[x] <=> a[y]} a=[5,2,3,1] b=[2,3,4,7] c=(a.length).times.sort{|x,y| a[x] <=> a[y]} c.each{|i| puts a[i].to_s+","+b[i].to_s}

2つのディレクトリからリストに含まれるファイルをコピー

2つのディレクトリからリストに含まれるファイルをコピー以下のプロセス list1.txtに含まれるファイルは 行数1_s.csv からコピー ディレクトリは../../list1dir/list2.txtに含まれるファイルは 行数1_s.csv からコピー ディレクトリは../../list2dir/list3.…

rubyでファイルの併合3 (共通するもの対応関係の出力)

rubyでファイルの併合3 (共通するもの対応関係の出力) f=open("A.txt"); a=Hash::new(); k=1; f.readlines.each{|i| i.chomp! q=i.split(" ") a[q[0]]=q[0]+" "+k.to_s; k=k+1; } f3=open("B.txt"); b=Hash::new(); k=1; f3.readlines.each{|i| i.chomp! …

rubyで行の置き換え

rubyでkeyの行の置き換え f=open("test1.txt"); a=Hash.new(); f.readlines.each{|i| i.chomp!; j=i.split(" ") a[j[0]+" "+j[1]]=i; # puts i; } f2=open("test2.txt"); f2.readlines.each{|i| i.chomp! j=i.split(" ") if a.has_key?(j[0]+" "+j[1]) then …

Usage for bundler

http://rubyonrails.gachinko.org/tag/gemfile/ gem install bundler --pre bundle install https://sites.google.com/site/shimesabanote2/linux/centos/ruby_on_rails/raisl_install sudo yum --enablerepo=remi,remi-test -y install ruby-develhttp://bl…

Install ruby 1.9.x in Cent OS 6.4

Ruby which can be installed by yum is 1.8.x for CentOS 6.4. So, we install ruby 1.9.x from sources. 1. Install epel. Epel is is Extra Packages for Enterprise Linux. rpm -ivh epel-release-5-4.noarch.rpm http://www.tooyama.org/yum-addrepo-ep…

rubyで日付っぽい文字列を出力(rubyにおける書式付出力)

rubyで日付っぽい文字列を出力%記号を使うと書式付の出力ができる. 12.times{|j| 31.times{|i| puts "%02d"%(j+1)+"%02d"%(i+1) } } 参考 http://doc.ruby-lang.org/ja/2.0.0/method/String/i/=25.html 参考 http://d.hatena.ne.jp/xibbar/20090917#1253108…

rubyで改行文字の削除

ruby のchompでは行末の改行しかとれない。 途中のは, ruby -e 'puts open("xxx.txt").read.gsub(/[\r\n]/,"")' > out.txt http://d.hatena.ne.jp/shokai/20081230/1230642379 より

Rとrubyの連携: rsruby

http://tech.actindi.net/3474804152 http://wiki.lifesciencedb.jp/mw/index.php/Ruby%E3%81%8B%E3%82%89R%E3%81%AE%E6%A9%9F%E8%83%BD%E3%82%92%E4%BD%BF%E3%81%86http://d.hatena.ne.jp/hrsth/20100204/1265288817◆cygwinにインストール (1)~/.bashrc にR…

rubyで秒単位のひづけの補完

rubyで秒単位のひづけの補完 f=(`ls .. | grep csv`).split("\n"); jjj=Hash.new(); p f; #f=["1264.csvcsv"] t=Time::new(2011,3,11,00,00,00) puts t; f.each{|k| f2=open("../"+k,"r") f3=open(k.gsub(/csv$/,''),"w") f2.each{|j123| j124=j123.split("\…

正規表現で文字列の繰り返しになっている行を検出置換

正規表現で文字列の繰り返しになっている行を検出置換 a="ttesttes" => "ttesttes" a.gsub(/^(.*)(\1)+$/,'\2') => "ttest" a="ttt" => "ttesttes" a.gsub(/^(.*)(\1)+$/,'\2') => "t"

大量の図をpdfファイルにひとまとめにするスクリプト

大量の図をpdfファイルにひとまとめにするtexソースを作るスクリプト. ちなみに,適当に\clearpage しないと図が多過ぎでtexコンパイルできなくなる.実行 ruby test.rb test.rb output="test.tex" f=open(output,"w") k=`ls | grep eps | sort -g ` fileli…

管理者権限なし(一般ユーザ)でのrubyのhpricotとmecanizeの導入

管理者権限なし(一般ユーザ)でのrubyのhpricotとmecanizeの導入 各ライブリの一般ユーザでの導入は, C言語系ライブラリ: http://d.hatena.ne.jp/arupaka-_-arupaka/20121006/1349517441 ruby系ライブラリ: http://d.hatena.ne.jp/arupaka-_-arupaka/20121…

管理者権限(一般ユーザ)がないときのrubygemsの利用

管理者権限がない場合のrubygemsの利用 例 Hpricotのインストール (1)gemファイルを自分でもってくる. (2)環境変数GEM_HOMEを変える. (3)インストール wget http://gemcutter.org/downloads/hpricot-0.8.6.gem export GEM_HOME=~/gems gem install hpricot…

一般ユーザ(管理者権限なし)でのライブラリの導入のTips  [rpmとか]

コマンド、ライブラリインストール編 (1)基本原則 自動インストールは使えない. yum install xxx とかは使えない。 (2)ソースからコンパイルするときは, ./configure --prefix=/home/username/usr とかするとインストールディレクトリを指定できる.…

rubyで日付の補完

rubyで日付の補完例:ファイルリスト filelist.xt xxx.csv2.csv 入力ファイル ../xxx.csv2.csv 00-01-01 100 00-01-03 120 00-01-04 150 00-01-06 160 出力ファイル xxx.csv 2000-01-01 100 2000-01-02 NA 2000-01-03 120 2000-01-04 150 2000-01-05 NA 2000-…

メモ:管理者権限がない場合のrubygemsの利用

管理者権限がない場合のrubygemsの利用例 Hpricotのインストール (1)gemファイルを自分でもってくる. (2)環境変数GEM_HOMEを変える. (3)インストール wget http://gemcutter.org/downloads/hpricot-0.8.6.gem export GEM_HOME=~/gems gem install hpricot …

yahooのスナペット(要約文)を取得するスクリプト

yahooのスナペット(要約文)を取得するスクリプト require 'rubygems' require 'kconv' require 'mechanize' require 'hpricot' KCODE='u' agent=Mechanize.new(); agent.user_agent_alias="Windows IE 7" search_word="\"*とはNTTのこと\"" page=agent.get…

mechanize ファイルとして保存

http://d.hatena.ne.jp/shikaku/20100108/p1 page=agent.get("http://yahoo.co.jp") page.save

日本の全上場企業名一覧?の取得 [csv、tab区切り]

日本の全上場企業名一覧?をcsvで取得(重複あり)。 http://www.jpubb.com/様を利用させていただいています。 get.rb require 'rubygems' require 'hpricot' require 'mechanize' require 'kconv' require 'uri' $KCODE="u" #exit(); str3="http://www.jpub…

Hpricot スプレイピング 特定のクラス名以外の要素を検索

nextprevを含まない要素を検索

HpricotのCSSセレクタの注意 の検索:リンク内のタイトル検索

Hpricotでタイトルダグが"title=Last Page"で終わるリンクの取得 ポイントは[]のセレクタの前に「@」をつけること。 str3="http://www.jpubb.com/list/list.php?se="+market+"&pageID="+"1" tmp=agent.get(str3).body doc=Hpricot(tmp); j=((doc/"a[@title$=…

rubyで日経一部上場企業の一覧を取得する。

rubyで日経一部上場企業の一覧を取得する。 http://www.jpubb.com/ さまにアクセスさせていただいています。 require 'rubygems' require 'hpricot' require 'mechanize' require 'kconv' require 'uri' $KCODE="u" str3="http://www.jpubb.com/list/list.ph…

ruby のmechanizeで特定時間でアクセスをやめる方法: Timeoutの設定

http://www.pistolfly.jp/weblog/2011/06/open-uritimeout.html Time out時間を1秒に設定。 1秒たって接続できなければあきらめる。 require "rubygems" require "mechanize" require "hpricot" require "kconv" require "uri" #require "timeout" require…

yahoo検索で検索の件数を表示するスクリプト

yahoo検索で検索数を表示するスクリプト 検索word: "test" require "rubygems" require "mechanize" require "hpricot" require "kconv" require "uri" $KCODE="u" #tmp123="http://www.aeon.info/" #text="link:"+tmp123; text="test" search=URI.encode(te…

特定企業ホームページのアンカーリンクを表示

require "rubygems" require "mechanize" require "hpricot" require "kconv" require "uri" $KCODE="u" #text="\"http://ntt.co.jp\"" #text="\"a href=\"http://www.toyota.co.jp/\"" #text="link: www.ntt.co.jp -site: ntt.co.jp site: jp" #text="link:…

CSSセレクタとhpricotのWeb切り出し

CSSセレクタ http://weboook.blog22.fc2.com/blog-entry-268.html Hpricot http://route477.net/rubyscraping/?Hpricot%2FShowcase HpricotとCSSセレクタ http://route477.net/d/?date=20070205 require "rubygems" require "mechanize" require "hpricot" r…