我想用(headers:true选项)读取CSV文件,但我文件的前5行包含不需要的数据.所以我希望第6行成为标题并开始用第6行读取文件.
但是当我读取文件时CSV.readlines("my_file.csv", headers: true).drop(5),它仍然使用第1行作为标题.如何将第6行设置为标题?
我敢肯定这是微不足道的,但经过一段时间把我的头发拉出来,是时候让你友好的SO人救我了.
我想操作我正在使用CSV类阅读的CSV文件,如下所示:
CSV.foreach(@path_to_file) do |row|
#doing stuff here
end
Run Code Online (Sandbox Code Playgroud)
但是,该文件在标题上方有5行需要删除(foreach方法barfs遇到这些行时).
我猜我可以读取文件并在没有前5行的情况下重新组装,但我确信有更优雅的方式来做这件事.
CSV方法不起作用的原因是前5行是CSV类不喜欢的字符; 它返回CSV:MalformedCSVError: Illegal quoting in line 3.
所以我认为我不能使用CSV类,除非我可以在尝试解析CSV之前将其删除.