2012-11-04 221 views
0

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

特别是,我不知道哪里(即,在与我的RoR应用程序的目录),我应该把CSV文件和如何访问从我的移民文件的文件,以增加数据到数据库。

+0

你用mysql? IIRC,它可以直接导入CSV文件。 –

+0

@Sergio Tulentsev - 我正在使用MySQL。 – Backo

回答

1

我做了很多从CSV文件导入到数据库中。我把csv文件放在db文件夹中。然后,我创建rake任务,这样我可以简单地调用

$ rake db:import:whatever 

为了解析我使用CSV库的CSV文件 - 你必须设置要求“CSV”。导入器是应用程序/模型中的模型。下面是一些代码片段其显示,该怎么办进口:

https://gist.github.com/4013876

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

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);