0

OK、私はこれを試しています。私の質問に対する答えを含む無数のSOの質問がありますが、私の問題を解決するものはありません。

RoR でフラット テキスト ファイルを解析する rake タスクを作成しています。ファイルにはヘッダーがありますが、空白以外の区切り文字はありません。そのため、空白を区切り文字として使用するつもりでしたが、機能しません。テキスト ファイルの例を次に示します。

名前 生年月日 請求書 12/25/86 ジョン・スミス 1/1/87

区切り文字として ' ' を使用すると、最初のエントリでは正しい結果が得られますが、日付の前に 1 つだけではなく 2 つの文字列があるため、2 番目のエントリでは正しい結果が得られません。これが私がこれをやろうとしてきた方法です:

File.open(file, "r").each do |line|
  name, birthdate = line.strip.split("")
  user = User.new(user_name: name, birth_date: birthdate)
  user.save
end

最初の「フィールド」が単一の単語である場合とそうでない場合があるという事実に対処する方法がわかりません。最終的には csv を要求することをお勧めします。そうすれば、私の問題は存在しなくなります。

前もって感謝します。

4

1 に答える 1

0

可能であればフォーマットを変更したいかもしれませんが、2つの例を使用すると、次のようなことができます

components = line.split(' ')
date = components.pop
name = components.join(' ')
于 2013-02-14T00:01:27.420 に答える