BOM付きUTF-8ファイル、fileコマンドで"illegal byte sequence" エラーに。

参考サイト:UTF-8のファイルに一括でBOMをつけたい $ LC_CTYPE=C $ LANG=C $ find これでエラーが解消。理由は調査中。

RubyのBenchmarkモジュールを使って、sleepメソッドが効いているか確認してみる。

open-uriとnokogiriを使ってホテル予約サイトをスクレイピングしているが、sleepメソッドがきちんと効いているか気になったので、Benchmarkモジュールを使って計測してみた。 方法 sleepメソッドを含むメソッドと含まないメソッドを2種類作る。 コード Bench…

Excelで文字化けせずに開けるCSVをRubyで作るついでに文字コードについて学んでみた。(あいまい)

RubyでCSVファイルを作り、Excelで開くと文字化けする。 解決法を探した所、この記事の通りやったら解決できた。 BOMなしUTF8をBOMつきUTF8にするためのワンライナー 解決できたはいいが、やっていることが全くわからないのでいろいろ調べてみる。 そもそもE…

Ruby "no implicit conversion of Hash into String (TypeError)" BOM付きファイルを読み込んだ時に起きるエラー

require 'open-uri' require 'nokogiri' UserAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36' File.open("scraping_hotels7.csv"){|f| f.each do |url| url.chomp! d…

Rubyで文字列から半角数字だけを抽出する方法。

"文字列".gsub(/[^0-9]/,"") 文字クラスの [ の直後の文字がキャレット(^)である場合、列挙「されていない」 文字にマッチするようになります(これは否定文字クラスと呼ばれます)。 Ruby 正規表現 文字クラス [^0-9]で0-9以外の文字列を抽出して、""と置換し…

find コマンドでの BOM の確認方法

fileコマンドを使えば、わざわざテキストエディタを使わずに確認できるよ! $ file *.cpp foo.cpp: UTF-8 Unicode text bar.cpp: UTF-8 Unicode (with BOM) text BOMが付いてるテキストは「(with BOM)」となるので、エディタなどで開かずにBOMが付いてるかど…

宿泊予約サイトの情報をopen-uriで開いて、nokogiriで解析してみる。

Booking.com: 東京のホテル. 今すぐホテル予約! require 'kconv' require 'open-uri' require 'nokogiri' UserAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36' doc =…

Ruby配列のそれぞれの要素をダブルクオーテーションで括って、カンマ区切り(CSV)で出力する。

mapメソッドを使って作ってみました。 items = [id, name, gender, age] puts items.map {|item| "\"#{item}\""}.join(",") Rubyリファレンス(map, map! (Array))

MySQLでテーブルの型を調べる

SHOW COLUMNS FROM tbl_name MySQLでテーブルの型を調べる

Rubyを利用したCSVファイルの書き出し

Rubyで作成した変数をCSVに書き出し。 CSV.open("file.csv", "w") do |csv| users.each do |user| id = user.id name = user.name gender = user.gender age = user.age p "#{id}, #{name}, #{gender}, #{age}" csv << [id, name, gender, age] end end 参考…

brewのアップデート(brew update)失敗への対処(Error: Failed while executing git pull origin)

mysqlをインストールするためにbrewを利用。 久しぶりに利用するために brew update したが、下記のエラーが。 Error: Failed while executing git pull origin 解決法はこちら。 brewのアップデート(brew update)に失敗してしまったので対処する - F13 $ cd…

MySQLの出力結果をファイルに出力する方法。

teeコマンドを使うと簡単。 mysql> tee output.txt Logging to file 'output.txt' mysql> select * from users order by gender; +----+--------+--------+------+ | id | name | gender | age | +----+--------+--------+------+ | 3 | alice | f | 15 | | …

mysqlエラー:there can be only one auto column and it must be defined as a key

mysql> create table users(id int auto_increment, name varchar(20), gender varchar(20), age int); ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key こんなエラーが出た。 mysql: …

Rubyでハッシュを利用する際の文字列とシンボルの違い

プログラミング初心者のため、他サイトを参考にまとめてみる。 テーマはRubyでハッシュを利用する際に文字列利用とシンボル利用の違いである。 今回のテーマは何度本を読んでも理解できないオブジェクト指向に関連するテーマのように感じるため、本質的な理…