CSV

Ruby で自家製スクリプトを書く 12

クラス化して、SQL 分を書き出す箇所をメソッドにすれば、いろいろと応用ができそう。

Ruby で自家製スクリプトを書く 11

SQL 文に接尾辞を追加した場合に対応させる まずは、接尾辞がない場合の出力結果を確認する。 config.yaml filename: csv: sample.csv sql: sample.sql encoding: output: UTF-8 input: Shift-JIS csv: fs: ', ' quote: '"' headers: false fields: - number…

Ruby で自家製スクリプトを書く 10

CSV から特定のフィールドを抜き出し、SQL 文を生成する config.yaml filename: csv: sample.csv sql: sample.sql encoding: output: UTF-8 input: Shift-JIS csv: fs: ', ' quote: '"' headers: false fields: - number: 2 # CSV のフィールドの番号 name: …

Ruby で自家製スクリプトを書く 09

CSV から特定のフィールドのみを出力する config.yaml filename: csv: sample.csv sql: sample.sql encoding: output: UTF-8 input: Shift-JIS csv: fs: ', ' quote: '"' headers: false fields: - number: 2 # CSV のフィールドの番号 - number: 3 - number…

Ruby で自家製スクリプトを書く 08

読み込んだ CSV を保存する SQL ファイル名でそのまま保存する csv2sql.rb #!/bin/env ruby $KCODE='utf8' require 'yaml' require 'kconv' require 'rubygems' require 'fastercsv' config_file = 'config.yaml' configs = YAML.load_file(config_file) def…

Ruby で自家製スクリプトを書く 08

openfile.rb と read_yaml.rb の機能を合わせる 読み込み元の CSV と出力先の SQL の設定を追加する。 config.yaml filename: # 保存する CSV のファイル名 csv: sample.csv # 保存する SQL ファイル sql: sample.sql encoding: output: UTF-8 input: Shift-…

Ruby で自家製スクリプトを書く 07

YAML を読み込んだ実行結果を表示させる。 config.yaml encoding: output: UTF-8 input: Shift-JIS csv: path: sample.csv # 「,」の後ろに半角空白が入力されている。 # シングルクォーテーションで囲まないとエラーが出るため、 # シングルクォーテーショ…

Ruby で自家製スクリプトを書く 06

FasterCSV に初期設定を行うように修正を行う #!/bin/env ruby $KCODE='utf8' require 'kconv' require 'rubygems' require 'fastercsv' csv = 'sample.csv' # CSV ファイルの文字コード input_char_encoding = 'Shift-JIS' # SQL 文を保存するファイルの文…

Ruby で自家製スクリプトを書く 05

FasterCSV の初期設定 DEFAULT_OPTIONS = { :col_sep => ",", :row_sep => :auto, :quote_char => '"', :converters => nil, :unconverted_fields => nil, :headers => false, :return_headers => false, :header_converters => nil, :skip_blanks => false,…

Ruby で自家製スクリプトを書く 04

FasterCSV を配列に格納する #!/bin/env ruby $KCODE='utf8' require 'kconv' require 'rubygems' require 'fastercsv' csv = 'sample.csv' # CSV ファイルの文字コード input_char_encoding = 'Shift-JIS' # SQL 文を保存するファイルの文字コード output_c…

Ruby で自家製スクリプトを書く 03

CSV 解析に fastercsv を使う。 理由は下記の通り。 FasterCSV のベンチマーク Rubyの標準添付CSVパーサーが遅い Ruby標準csv遅い インストールは gem で行う。 # gem install fastercsv FasterCSV のドキュメントは下記のリンクから参照できる。 FasterCSV …

Ruby で自家製スクリプトを書く 02

文字コードを変換させる 読み込みもとの CSV ファイルと出力先の SQL ファイルの文字コードが一致しない場合、文字コードを変換させる処理を行う。 fileopen.rb #!/bin/env ruby $KCODE='utf8' require 'kconv' csv = 'sample.csv' # CSV ファイルの文字コー…

Ruby で自家製スクリプトを書く 01

CSVを読み込んでみる sample.csv "1", "myname", "myaddress", "123-4567" "2", "yourname", "youraddress", "890-1234" "3", "hisname", "hisaddress", "" "4", "hername", "heraddress", "A56-7890" fileopen.rb #!/bin/env ruby $KCODE='utf8' csv = 'sam…

Ruby で自家製スクリプトを書く

目的 CSV ファイルから目的のデータを抽出し、SQL を作成する。 欲しい機能 設定ファイルの見通しを良くする CSV を読み込む CSV ファイルをパースする CSV から特定のデータだけを抜き出す 特定のデータの型を確認する CSV ファイルからSQLを生成する CSV …