2012-11-04 139 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);