Формат данных выглядит как вариант CSV, если в качестве разделителя столбцов используется ';;'
.Исходя из этого:
require 'csv'
CSV.parse(data, :col_sep => ';;') do |csv|
# do something with each record
end
data
будет содержимым, которое вы получите.
Внутри цикла, csv
будет массивом, содержащим поля каждой записи.Первый раз в цикле будут заголовки, а в последующие моменты времени через csv
будут записи данных.
Иногда вы увидите ';;;;'
, что означает пустое поле;Например, field;;;;field
, который конвертируется в ['field',nil,'field']
в csv
.Вам нужно будет выяснить, что вы хотите сделать с нулевыми записями.Я бы предположил, что вы, вероятно, захотите сопоставить их с пустыми строками (''
).