2017-07-07 3 views
0

ファイル内のデータをどうするかに関する情報を抽出するには、csvファイルのファイル名を読み取る必要があります。ファイル名はどうやって読むのですか?ルビーのcsvファイルのファイル名の読み方

私は200_SomeTestName.csvというファイルを取得します。ファイルには、作成するテストの詳細が含まれます。 IDが200の生徒のためにSomeTestNameというテストを作成する必要があります。

+0

ファイルをどのように受信していますか? –

+0

私はそれを共有Dropboxフォルダに入れます。 – liquorishe

+0

Dropboxフォルダからファイル名を取得していないファイルをどのように取得していますか?以前はAPIを使用したことはありませんでしたが、ファイルをダウンロードするために使用するAPIエンドポイントがファイル名を含むように見えました。 –

答えて

2

すべてのCSVファイルをドロップボックスフォルダにリストし、それらがパターンと一致するかどうかを確認できます。次に、必要な情報を抽出し、テストを作成します。

Dir.glob('yourdropboxfolder/*.csv').each do |filename| 
    name = File.basename(filename, '.csv') 
    if (match = /(\d+)_(.*).csv/.match(name)) 
    student_id = match[1] 
    test_name = match[2] 
    create_test_for(student_id, test_name, File.read(filename)) 
    end 
end 

ファイル名からか、この情報はファイルにもある場合は値を抽出する必要がある場合はわかりません。

+0

ありがとうございます。はい、これが私の考え方です。 – liquorishe

関連する問題