解析Ruby Rake任务中的平面文本文件

时间:2013-02-13 23:53:43

标签: ruby ruby-on-rails-3 text

好的,我正在试一试。有大量的SO问题可以解答我的问题,但没有一个可以解决我的问题。

我正在创建一个rake任务来解析RoR中的平面文本文件。该文件有一个标题,但除了空格之外没有任何分隔符。所以我打算使用空格作为分隔符,但它不起作用。以下是文本文件的示例:

姓名出生日期 第12/25/86号法案 约翰史密斯1/1/87

如果我使用''作为分隔符而不是第一个条目的正确结果而不是第二个条目的正确结果,因为在日期之前有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然后我的问题就不存在了。

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果可能,您可能想要更改格式,但使用两个示例可以执行此类操作

components = line.split(' ')
date = components.pop
name = components.join(' ')