我想知道如何解析具有以下结构的txt:
文件中的每个项目都由TAB键分隔。
列是:
购买者姓名,商品描述,商品价格,购买数量,商家地址,商家名称。
purchaser name item description item price purchase count merchant address merchant name
João Silva R$10 off R$20 of food 10.0 2 987 Fake St Bob's Pizza
Amy Pond R$30 of awesome for R$10 10.0 5 456 Unreal Rd Tom's Awesome Shop
Marty McFly R$20 Sneakers for R$5 5.0 1 123 Fake St Sneaker Store Emporium
Snake Plissken R$20 Sneakers for R$5 5.0 4 123 Fake St Sneaker Store Emporium
在分析了这些数据之后,我需要发送到规范化的数据库并创建相应的表。
答案 0 :(得分:1)
您可以使用CSV
解析带分隔符的文件,例如:
require 'csv'
CSV.foreach('your_file.txt', col_sep: "\t", headers: true).map do |row|
row.to_h
end
#=> [{"purchaser"=>"João", "name"=>"St", "item"=>"R$20", "description"=>"off" ...},
# {"purchaser"=>"Amy", "name"=>"Rd", "item"=>"awesome", "description"=>"of", ..}, ...]
似乎这些数据已准备就绪。一种更常见的方法是对这样的文件使用逗号分隔值,所以如果可以,我建议您更改文件格式。