Ruby on rails 读取CSV文件时,输出很奇怪

Ruby on rails 读取CSV文件时,输出很奇怪,ruby-on-rails,csv,Ruby On Rails,Csv,我有一个CSV文件,如下所示: 1ttAAAttAnaattFrench PolynesiattPFttAustralia and Oceaniatt-17.352606tt-145.509956 2ttAAEttAnnabattAlgeriattDZttAfricatt36.822225tt7.809167 3ttAAFttApalachicolattUnited StatesttUSttNorth Americatt29.7276066tt-85.0274416 4ttAAGtt\NttBr

我有一个CSV文件,如下所示:

1ttAAAttAnaattFrench PolynesiattPFttAustralia and Oceaniatt-17.352606tt-145.509956
2ttAAEttAnnabattAlgeriattDZttAfricatt36.822225tt7.809167
3ttAAFttApalachicolattUnited StatesttUSttNorth Americatt29.7276066tt-85.0274416
4ttAAGtt\NttBrazilttBRttSouth Americatt\Ntt\N
我使用此gem获取数据:

这是我用来在终端控制台中显示数据的代码:

filename = 'db/csv/airports_codes.csv'
options = {
  :col_sep => 'tt',
}
records = SmarterCSV.process(filename, options)

puts records
我将这些文件放在seeds.rb文件中,因为稍后我将修改此代码,以便为数据库添加数据种子。最后一行代码就在那里,所以我可以看到它的样子。所以我运行rake db:seed

由于大约有5公里的生产线,所以产量明显很大。现在的第一个问题是,我无法看到终端中的所有数据。当我滚动到顶部时,这是第一个项目(注意ID为4674,这意味着它最后显示了250个项目):

如何查看其他项目

第二个问题是,密钥名真的很奇怪。如何重命名它们,或者更好地说,如何使用数组而不是哈希?

如果您设置了该选项

:headers_in_file => false
在选项中,这将解决问题。 i、 e


密钥名称是由于SmarterCSV将第一行视为标题行而产生的。可能有一个选项可以覆盖它。
:headers_in_file => false
filename = 'db/csv/airports_codes.csv'
options = {
  :col_sep => 'tt',
  :headers_in_file => false
}
records = SmarterCSV.process(filename, options)