2017-10-20 7 views
-1

Je ne sais pas si son possible, mais voici ce que je suis en train d'atteindre:Ruby lire le fichier CSV à l'aide obtient

Please enter file path to analyse your expenses : 
user enters statment.csv 
and programs reads data. 

mon code:

require 'csv' 

puts "Please enter file path to analize" 
    file = gets 
data = CSV.read(file, headers: true) 
> 
> 
> 

messages à ce jour obtenu qui déposent des documents couldn » t être trouvé. Tous les fichiers sont dans le même dossier. Bureau/expenses_calculator

E

+1

'pp' est votre ami lors du débogage des programmes Ruby. Essayez 'require 'pp'' puis' pp file' pour voir ce que 'file' contient après l'avoir lu avec' gets'. Vous verrez le problème vous-même. – Casper

Répondre

1

Quelle est la valeur de file après avoir tapé quelque chose?

puts 'Please enter file path to analize' 
file = gets 
p file 
# => "some_file.csv\n" 

Très probablement, vous voulez ajouter String#chomp qui « renvoie une nouvelle chaîne avec le séparateur d'enregistrement donné retiré de la fin de la chaîne (le cas échéant). »

Vous pouvez essayer avec quelque chose comme:

puts 'Please enter file path to analize' 
file = gets.chomp 
data = CSV.read(file, headers: true)