我是一名新手程序员,过去几周一直在教自己Ruby。我对程序(CSV导入程序/ JSON导出程序)有疑问,希望有人可以帮忙。
def convert_csv_to_json(csv_file_name)
CSV.foreach(csv_file_name) do |row|
JSON.pretty_generate(row)
end
test = FileExportManager.new
test.export_json_to_computer(csv_file_in_json)
end
我希望export_json_to_computer
方法将foreach循环的结果导出为参数。我无法做到这一点。有人可以提供任何建议吗?感谢。
编辑 - 包含已编辑的版本FileExportManager类
class FileExportManager
def export_json_to_computer(file)
write_to_file(file)
end
def assign_file_name
# this method names file and assigns .json extension
File.new(file_name, 'w')
end
def write_to_file(file)
File.open(file_name, 'w') do |row|
row.puts file
end
end
end
答案 0 :(得分:-1)
根据您当前构建代码的方式,您希望将csv文件读入内存,然后将其转换为json并将字符串传递给export_json_to_computer
文件,如下所示:
def convert_csv_to_json(csv_file_name)
rows = JSON.pretty_generate(CSV.read(csv_file_name).to_a)
test = FileExportManager.new
test.export_json_to_computer(rows)
end