require "csv"
require "stringio"
contents = CSV.new(ARGF, headers: true).read
contents.each do |row|
next unless row["DetailActiveAddressLine1"] =~ /PO Box|^[[:digit:]]/i
row["DetailActiveAddressLine1"], row["DetailActiveAddressLine2"] =
row["DetailActiveAddressLine2"], row["DetailActiveAddressLine1"]
end
sio = StringIO.new
sio.write(contents.to_csv(force_quotes: true))
sio.rewind
puts sio.read
cmVxdWlyZSAiY3N2IgpyZXF1aXJlICJzdHJpbmdpbyIKCmNvbnRlbnRzID0gQ1NWLm5ldyhBUkdGLCBoZWFkZXJzOiB0cnVlKS5yZWFkCgpjb250ZW50cy5lYWNoIGRvIHxyb3d8CiAgbmV4dCB1bmxlc3Mgcm93WyJEZXRhaWxBY3RpdmVBZGRyZXNzTGluZTEiXSA9fiAvUE8gQm94fF5bWzpkaWdpdDpdXS9pCiAgCiAgcm93WyJEZXRhaWxBY3RpdmVBZGRyZXNzTGluZTEiXSwgcm93WyJEZXRhaWxBY3RpdmVBZGRyZXNzTGluZTIiXSA9CiAgICByb3dbIkRldGFpbEFjdGl2ZUFkZHJlc3NMaW5lMiJdLCByb3dbIkRldGFpbEFjdGl2ZUFkZHJlc3NMaW5lMSJdCmVuZAoKc2lvID0gU3RyaW5nSU8ubmV3CnNpby53cml0ZShjb250ZW50cy50b19jc3YoZm9yY2VfcXVvdGVzOiB0cnVlKSkKCnNpby5yZXdpbmQKcHV0cyBzaW8ucmVhZA==
JnF1b3Q7RGV0YWlsQWN0aXZlQWRkcmVzc0xpbmUxJnF1b3Q7LCZxdW90O0RldGFpbEFjdGl2ZUFkZHJlc3NMaW5lMiZxdW90OwomcXVvdDtVbml0IDIwMyZxdW90OywmcXVvdDszMjM1IE9ha2xleSBTdGF0aW9uIEJsdmQmcXVvdDsKJnF1b3Q7NTg1IFMgSGlja29yeSBTdCZxdW90OywK
"DetailActiveAddressLine1","DetailActiveAddressLine2"
"Unit 203","3235 Oakley Station Blvd"
"585 S Hickory St",