我想打开一个TSV(制表符分隔值)文件,并将特定行保存到新的CSV(逗号分隔值)文件中。
如果该行在标题为“Actor1Code”的字段中包含'NLD'
,我想将该行保存为CSV;如果没有,我想迭代到下一行。这是我到目前为止所做的,但显然这还不够:
require 'csv'
CSV.open("path/to.csv", "wb") do |csv| #csv to save to
CSV.open('data.txt', 'r', '\t').each do |row| #csv to scrape
if row['Actor1Code'] == 'NLD'
csv << row
else
end
end
end
答案 0 :(得分:3)
您确定要正确拨打CSV.open
吗? The documentation似乎建议将参数作为哈希传递:
CSV.open('data.txt', 'r', col_sep: "\t")
您看到的错误可能是'\t'
被解释为哈希并被[]
引用的结果。