Fix: Parse headers when they are surrounded by quotes. This helps load recent csv files correctly

rpp-main
rebuilt 3 years ago
parent 33e590607c
commit 3f4aa8e7af

@ -4,7 +4,7 @@ class SurveyResponsesDataLoader
def self.load_data(filepath:, rules: [Rule::NoRule]) def self.load_data(filepath:, rules: [Rule::NoRule])
File.open(filepath) do |file| File.open(filepath) do |file|
headers = file.first headers = file.first
headers_array = headers.split(',') headers_array = CSV.parse(headers).first
genders_hash = genders genders_hash = genders
all_survey_items = survey_items(headers:) all_survey_items = survey_items(headers:)
@ -20,7 +20,7 @@ class SurveyResponsesDataLoader
def self.from_file(file:, rules: []) def self.from_file(file:, rules: [])
headers = file.gets headers = file.gets
headers_array = headers.split(',') headers_array = CSV.parse(headers).first
genders_hash = genders genders_hash = genders
all_survey_items = survey_items(headers:) all_survey_items = survey_items(headers:)
@ -98,9 +98,9 @@ class SurveyResponsesDataLoader
end end
def self.get_survey_item_ids_from_headers(headers:) def self.get_survey_item_ids_from_headers(headers:)
headers.split(',') CSV.parse(headers).first
.filter(&:present?) .filter(&:present?)
.filter { |header| header.start_with? 't-', 's-' } .filter { |header| header.start_with? 't-', 's-' }
end end
private_class_method :process_row private_class_method :process_row

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save