CSV
クラス化して、SQL 分を書き出す箇所をメソッドにすれば、いろいろと応用ができそう。
SQL 文に接尾辞を追加した場合に対応させる まずは、接尾辞がない場合の出力結果を確認する。 config.yaml filename: csv: sample.csv sql: sample.sql encoding: output: UTF-8 input: Shift-JIS csv: fs: ', ' quote: '"' headers: false fields: - number…
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: …
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…
読み込んだ 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…
openfile.rb と read_yaml.rb の機能を合わせる 読み込み元の CSV と出力先の SQL の設定を追加する。 config.yaml filename: # 保存する CSV のファイル名 csv: sample.csv # 保存する SQL ファイル sql: sample.sql encoding: output: UTF-8 input: Shift-…
YAML を読み込んだ実行結果を表示させる。 config.yaml encoding: output: UTF-8 input: Shift-JIS csv: path: sample.csv # 「,」の後ろに半角空白が入力されている。 # シングルクォーテーションで囲まないとエラーが出るため、 # シングルクォーテーショ…
FasterCSV に初期設定を行うように修正を行う #!/bin/env ruby $KCODE='utf8' require 'kconv' require 'rubygems' require 'fastercsv' csv = 'sample.csv' # CSV ファイルの文字コード input_char_encoding = 'Shift-JIS' # SQL 文を保存するファイルの文…
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,…
FasterCSV を配列に格納する #!/bin/env ruby $KCODE='utf8' require 'kconv' require 'rubygems' require 'fastercsv' csv = 'sample.csv' # CSV ファイルの文字コード input_char_encoding = 'Shift-JIS' # SQL 文を保存するファイルの文字コード output_c…
CSV 解析に fastercsv を使う。 理由は下記の通り。 FasterCSV のベンチマーク Rubyの標準添付CSVパーサーが遅い Ruby標準csv遅い インストールは gem で行う。 # gem install fastercsv FasterCSV のドキュメントは下記のリンクから参照できる。 FasterCSV …
文字コードを変換させる 読み込みもとの CSV ファイルと出力先の SQL ファイルの文字コードが一致しない場合、文字コードを変換させる処理を行う。 fileopen.rb #!/bin/env ruby $KCODE='utf8' require 'kconv' csv = 'sample.csv' # CSV ファイルの文字コー…
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…
目的 CSV ファイルから目的のデータを抽出し、SQL を作成する。 欲しい機能 設定ファイルの見通しを良くする CSV を読み込む CSV ファイルをパースする CSV から特定のデータだけを抜き出す 特定のデータの型を確認する CSV ファイルからSQLを生成する CSV …