我一直在做一些测试CSV.table.我有两个小而几乎相同的CSV文件,但是有一个缺少标题行.
当我CSV.table使用标题行运行CSV文件时,一切都按预期工作.
当我在没有标题行的CSV文件中运行它时,我得到:
NoMethodError: undefined method `encode' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)
我尝试使用不同类型的数据,使用不同类型的标题,并获得相同的结果.
我很好奇CSV.table.如果我使用CSV.parse标头设置为true,那么它总是使第一行成为标题,无论如何.所以,我一直在CSV.table用来检查导入的CSV文件是否有标题行,但我对此不太满意,因为我不明白它是否或何时会以我正在使用它的方式工作.
begin
CSV.table(csv_file_path)
rescue
# Add error to log or something.
end
Run Code Online (Sandbox Code Playgroud)
有人知道吗?
PS我已经阅读了它以及它为每种方法提供的源代码 - http://www.ruby-doc.org/stdlib-1.9.3/libdoc/csv/rdoc/CSV.html
| 归档时间: |
|
| 查看次数: |
3231 次 |
| 最近记录: |