2017-07-07 121 views
0

我需要讀取csv文件的文件名以提取關於如何處理文件內數據的一些信息。我如何閱讀文件名?如何在ruby中讀取csv文件的文件名

例如我將得到一個名爲200_SomeTestName.csv的文件。該文件將包含要創建的測試的詳細信息。我需要爲ID爲200的學生創建一個名爲SomeTestName的測試。

+0

你是如何收到這個文件的? –

+0

我會在共享的Dropbox文件夾中找到它。 – liquorishe

+0

如何從保管箱文件夾中檢索沒有獲取文件名稱的文件?以前從未使用過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