【问题标题】:Parsing a CSV File to a Rails Database将 CSV 文件解析到 Rails 数据库
【发布时间】:2011-02-09 13:06:00
【问题描述】:

G'day 伙计们,

我正在使用 fasterCSV 和 rake 脚本将包含大约 30 列的 csv 解析到我的 rails db 中以获取“贸易”项目。当所有值都设置为字符串时,该脚本运行良好,但当我将其更改为小数、整数或其他值时,一切都变糟了。

想知道 fastCSV 是否内置了 int 等解析,或者我是否必须在我的模型中管理这些。

基本上,我得到了大量的交易数据,需要导入它,然后需要提供反馈,比如平均交易量、次数等。我知道我可以用精彩的记录来做到这一切activeRecord 提供给我,但想知道是否有更简单的方法来使用给定的 CSV 填充相当大的数据库?

一些字段没有某些行的值,fastCSV 似乎在它们都是字符串时可以完美运行,但当我尝试获取小数或其他时则不行。

【问题讨论】:

    标签: ruby-on-rails ruby parsing csv


    【解决方案1】:

    假设您使用的是 MySQL,您应该可以使用 LOAD DATA INFILE 将 CSV 直接导入数据库。

    编写一个 Ruby 脚本来执行此操作是一种重新发明轮子,因为已经有很多很多工具可以执行此操作。

    【讨论】:

    • 不幸的是,对于我正在尝试做的参数,即为用户提供在rails中上传CSV文件的界面,轮子的重新发明似乎是必要的。
    【解决方案2】:

    您是否尝试过使用AR Extensions 进行批量导入?当您将 1000 行插入 DB 时,您将获得令人印象深刻的性能改进。访问他们的website了解更多详情。

    有关更多信息,请参阅这些示例

    Usage Example 1

    Usage Example 2

    Usage Example 3

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-23
      • 2014-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-03
      相关资源
      最近更新 更多