我有一个CSV文件,如下所示:
1ttAAAttAnaattFrench PolynesiattPFttAustralia and Oceaniatt-17.352606tt-145.509956
2ttAAEttAnnabattAlgeriattDZttAfricatt36.822225tt7.809167
3ttAAFttApalachicolattUnited StatesttUSttNorth Americatt29.7276066tt-85.0274416
4ttAAGtt\NttBrazilttBRttSouth Americatt\Ntt\N
我使用此gem来获取数据:https://github.com/tilo/smarter_csv
这是我用来在终端控制台中显示数据的代码:
filename = 'db/csv/airports_codes.csv'
options = {
:col_sep => 'tt',
}
records = SmarterCSV.process(filename, options)
puts records
我将这些文件放在seeds.rb文件中,因为我稍后会修改此代码以使用数据为数据库设定种子。最后一行代码就在那里,所以我可以看到它的样子。所以我运行rake db:seed
输出显然很大,因为大约有5k线。现在第一个问题是我无法看到终端中的所有数据。当我滚动到顶部时,这是第一个项目(请注意,ID为4674,这意味着它显示最后约250个项目):
{:"1"=>4674, :aaa=>"YPJ", :anaa=>"Aupaluk", :french_polynesia=>"Canada", :pf=>"CA", :australia_and_oceania=>"North America", :"_17.352606"=>59.2967, :"_145.509956"=>-69.5997}
如何查看其他商品?
第二个问题是关键名称真的很奇怪。如何重命名它们,甚至更好,我如何使用数组而不是哈希?
答案 0 :(得分:0)
如果您设置选项
:headers_in_file => false
在选项中,应该排除问题。 即。
filename = 'db/csv/airports_codes.csv'
options = {
:col_sep => 'tt',
:headers_in_file => false
}
records = SmarterCSV.process(filename, options)