如何从CSV文件导入数据到数据库?

时间:2012-11-04 21:09:30

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

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

特别是,我不知道 where (即,在哪个目录中关联我的RoR应用程序)我应该把CSV文件和如何访问那个文件从我的迁移文件中添加数据到数据库。

2 个答案:

答案 0 :(得分:2)

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

$ rake db:import:whatever

为解析csv文件,我使用csv库 - 你必须设置require'csv'。进口商是app / models中的模型。以下是一些代码片段,显示了如何进行导入:

https://gist.github.com/4013876

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

答案 1 :(得分:0)

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);
相关问题