2017-07-07 81 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