2010-04-19 10 views
3

gars G'day,un fichier CSV Parsing à une base de données Rails

J'utilise fasterCSV et un script de coupe pour analyser un fichier CSV avec environ 30 colonnes dans mes rails db pour un élément « Commerce ». Le script fonctionne correctement lorsque toutes les valeurs sont définies sur des chaînes, mais lorsque je le mets à une valeur décimale, int ou autre, tout va en enfer. Je me demandais si le plus rapideCSV a intégré l'analyse int etc ou si je vais devoir les gérer dans mon modèle. Fondamentalement, je suis donné une quantité énorme de données commerciales, besoin de l'importer, et ensuite besoin de fournir des commentaires avec dire le volume commercial moyen, les temps, etc. Je comprends que je peux faire tout cela avec le merveilleux enregistrements fournis par activeRecord mais se demandait s'il y avait un moyen plus facile de remplir une base de données assez grande avec un CSV donné?

Plusieurs des champs n'ont pas de valeurs pour certaines lignes, plus rapideCSV semble fonctionner parfaitement lorsqu'il s'agit de toutes les chaînes, mais pas lorsque j'essaie d'obtenir une valeur décimale ou autre.

Répondre

1

En supposant que vous utilisez MySQL, vous devriez pouvoir importer le fichier CSV directement dans la base de données avec LOAD DATA INFILE. Écrire un script Ruby pour ce faire revient à réinventer la roue, car il existe de nombreux outils qui le font déjà.

+1

Malheureusement pour les paramètres de ce que je suis en train de faire, ce qui est de fournir une interface pour les utilisateurs Pour télécharger des fichiers CSV dans des rails, la réinvention de la roue semble nécessaire. – Schroedinger

Questions connexes