我是Ruby的新手,但我似乎无法做到这一点。
这里是grocery_list2.txt的样子:
beer, milk, apples, bacon
以及我想要的.csv文件中返回的内容,但我甚至不知道从哪里开始重新格式化它看起来像这样...
Item 1 -- beer
Item 2 -- milk
Item 3 -- apples
Item 4 -- bacon
这是我的代码:
# reading the grocery list from grocery_list2.txt and splitting at each ","
csv_grocery_list = IO.read("grocery_list2.txt").split(",")
#I want this to open a new CSV file called grocery_list3.csv and put in my grocery list
CSV.open("grocery_list3.csv", "w") do |csv|
csv_grocery_list.each do |item|
csv << p
end
end
目前,我无法停止收到错误,也无法推送到CSV。谢谢你的帮助。
答案 0 :(得分:0)
您的代码几乎是正确的。看起来你开始在一行上有一堆字段,所以你需要使用拆分,就像你正在做的那样将项目放入数组中。接下来,打开一个用于编写的csv,遍历数组(使用索引,这样就可以得到项目编号),并将其写入新的CSV文件。
注意:csv push操作需要一个列列表,即使只有一列。
csv_grocery_list = IO.read("grocery_list2.txt").split(",")
CSV.open("grocery_list3.csv", "w") do |csv|
csv_grocery_list.each_with_index do |item, index|
csv << ["Item #{index + 1} -- #{item}"]
end
end