Skip to content

Instantly share code, notes, and snippets.

@solars

solars/bom.rb Secret

Created May 11, 2016 13:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save solars/a906ce5e5963a269c505069f20f4ad5e to your computer and use it in GitHub Desktop.
Save solars/a906ce5e5963a269c505069f20f4ad5e to your computer and use it in GitHub Desktop.
# csv files that contain a Byte order Mark
# already gunzipped files are working:
def unpack(date)
CSV.foreach("file_#{date.strftime('%Y%m%d')}.csv", col_sep: ';', headers: true, encoding: "bom|utf-8") do |row|
yield row
end
end
# exception due to BOM when gunzipping:
def unpack(date)
Zlib::GzipReader.open("file_#{date.strftime('%Y%m%d')}.csv.gz") do |gz|
CSV.parse(gz.read, col_sep: ';', headers: true, encoding: "bom|utf-8") do |row|
yield row
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment