0

このような挿入クエリを含まない.txtファイルがあります。Railsアプリケーション用にmongoiddbに保存するために、file.txtを解析してデータを取得したいのですが、基本的なrubyメソッドを使用して解析しようとしましたが、適切な形式を取得できませんでした。データからハッシュを取得できますか?これを直接使用して、値のみを解析および取得するための一括挿入または正規表現を実装できます。

INSERT INTO "venues" ("_id", "postal_code", "lat", "lng", "address", "title", "type") 
VALUES (33, "SW1A 0AA", "51.49984", "-0.124663", "BIG BEN & HOUSES OF PARLIAMENT, House of 
Commons, London, SW1A 0AA","BIG BEN & HOUSES OF PARLIAMENT", 2);
4

2 に答える 2

1

INSERT INTO (...)VALUES (...)パーツを取り、新しい線の記号に依存しない正規表現が必要です。例えば:

str.gsub(/(\r|\n)/, '') =~ /INSERT INTO "(\w{1,})" \((.*{1,})\) VALUES \((.*{1,})\)/

次に、次の変数があります。

table, keys, values = $1, $2, $3

追加のシンボルからキーと値を削除することもできます。

keys.split(",").map {|val| val.gsub("\"", '').strip }
values.split(",").map {|val| val.gsub("\"", '').strip }

これで、MongoDBへの移行を処理するために必要なデータがすべて揃いました。

于 2012-07-25T10:46:01.957 に答える
0

item.scan(/ VALUES \ s(。+)/)。first.gsub(/ VALUES \ s(|)| \ "/、" ")。split("、 ")

于 2012-08-29T19:08:00.830 に答える