【发布时间】:2014-11-18 02:06:02
【问题描述】:
我的目标是将 CSV 文件的一列导入 Ruby 数组。这是一个独立的 Ruby 脚本,而不是应用程序。我将在终端中运行脚本并获得输出。
我无法找到导入文件的最佳方式以及将文件名动态插入该代码行的最佳方式。文件名每次都不一样,由用户传入。我使用$stdin.gets.chomp 向用户询问文件名,并将其设置为等于file_name。
有人可以帮我解决这个问题吗?这是我对这部分脚本的内容:
require 'csv'
zip_array = CSV.read("path/to/file_name.csv")
我需要能够在上面插入正确的文件路径。它是否正确?以及如何在其中获取该路径名?也许我需要完全重新构建我的脚本,但是关于如何做到这一点有什么建议吗?
【问题讨论】:
-
要求输入的程序通常非常烦人。为什么不将文件名作为命令行参数?这些在
ARGV中可用。 -
您可以使用 Dir.glob("*.csv")[0] 如果该文件(与名称无关)将是您的程序文件夹中唯一的 csv 文件。这样您就不必担心名称一直在变化。
标签: ruby arrays bash csv terminal