使用Rails创建数据可视化站点

时间:2012-07-24 01:08:14

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2

我有一个非常大的Excel电子表格,例如由用户名,位置,日期和一些数字字段组成。

User,location,date,value1,value2,value3

Steve,NYC,2012,9,1,3
Steve,NYC,2011,3,3,2
Steve,CA,2011,1,2,0
Michael,CA,2012,10,3,2
Michael,CA,2011,10,2,0

我如何组织一个rails网站,以便可以查看某个用户的所有值?

例如,

/users/steve/all

将按日期的降序显示所有值,其中user = steve。

/users/steve/nyc

将按日期的降序显示所有值,其中user = steve和location = nyc。

我想我需要创建一个用户模型并将excel中的所有数据导入到数据库中,但我对如何做到这一点感到很遗憾。

从本质上讲,应用程序将是一个简单的数据可视化工具。也许我必须分离数据库并创建用户has_many:位置和位置:belongs_to用户,我不确定。我希望以各种方式查看数据 - 也许我想显示某个位置的所有用户,或查看某个用户的所有位置等...

2 个答案:

答案 0 :(得分:1)

我建议您先在rails应用程序中设置模型。然后,您可以编写一个类似于this question的rake任务,或者您可以从scratch构建它。还有railscast

答案 1 :(得分:0)

如果您需要直接从Excel导入(例如,excel表是由用户上传的)。您可以使用以下某个宝石从Excel工作表中导入数据

  • roo读取新旧格式(+其他)
  • spreadsheet读取和写入旧的exel格式

如果你只有这个excel表,那么简单地将数据导出到csv并按照上面提到的stackoverflow问题中给出的答案会容易得多。

至于关于如何建模数据库的问题的第二部分,你已经有了正确的想法。

最简单的方法是完全模拟您的域的外观并相应地转换数据。