【问题标题】:How to import data to the database from a CSV file?如何将数据从 CSV 文件导入数据库?
【发布时间】:2012-10-24 17:57:18
【问题描述】:

我正在使用 Ruby 1.9.2、Ruby on Rails v3.2.2 gem 和 MySQL 数据库。我想将数据从包含世界城市的CSV file 导入数据库。我认为应该通过运行 RoR 迁移来完成此过程,但我不知道如何正确进行。

特别是,我不知道 在哪里(即,与我的 RoR 应用程序相关的目录中)我应该将 CSV 文件以及 如何访问该文件从我的迁移文件中,以便将数据添加到数据库中。

【问题讨论】:

  • 你在用mysql吗? IIRC,它可以直接导入CSV文件。
  • @Sergio Tulentsev - 我正在使用 MySQL。

标签: ruby-on-rails ruby database csv import


【解决方案1】:

MYSQL 可以直接导入 CSV 文件。为此,您应该通过 SSH 登录到您的服务器(或以某种方式进入命令行)并调用以下命令:

$ mysql -u yourUserName -p
Enter password:
$ mysql> load data local infile 'c:\path_to_file\filename.csv' into table yourTableName character set utf8 fields terminated by ',' enclosed by '"' lines terminated by '\r\n' (field1, field2, field3);

【讨论】:

    【解决方案2】:

    我做了很多从 csv 文件导入数据库的工作。我将 csv 文件放在 db 文件夹中。然后我创建 rake 任务以便我可以简单地调用

    $ rake db:import:whatever
    

    为了解析 csv 文件,我使用 csv 库 - 您必须设置 require 'csv'。导入器是 app/models 中的模型。这里有一些代码 sn-ps 显示,如何进行导入:

    https://gist.github.com/4013876

    我希望这有助于开始......

    【讨论】:

      猜你喜欢
      • 2017-07-19
      • 1970-01-01
      • 1970-01-01
      • 2016-12-30
      • 1970-01-01
      • 1970-01-01
      • 2021-11-22
      • 2021-10-20
      • 2012-05-15
      相关资源
      最近更新 更多