Я не очень хорошо знаком с использованием ruby с двоичными данными. Я использую mechanize для загрузки большого количества файлов csv на локальный диск. Затем мне нужно искать эти файлы для определенных строк.ruby mechanize: как читать загруженный двоичный файл csv
Я использую метод save_as для механизации, чтобы сохранить файл (который сохраняет файл как двоичный файл). Тип содержимого файла (согласно механизации):
application/vnd.ms-excel;charset=x-UTF-16LE-BOM
Отсюда я не уверен, как читать файл. Я пробовал читать его как обычный файл в рубине, но я просто получаю двоичные данные. Я также попытался использовать стандартные инструменты unix (строки/grep), чтобы попытаться выполнить поиск без везения.
Когда я запускаю команду «Файл», на одном из файлов, я получаю:
foo.csv: Little-endian UTF-16 Unicode Pascal program text, with very long lines, with CRLF, CR, LF line terminators
я могу видеть данные просто отлично с кошкой или VI. С vi я также вижу некоторые управляющие символы.
Я также пробовал как библиотеки csv, так и quickcsv ruby, но я получаю исключение «IllegalFormatError» для них. Я также пробовал this solution без везения.
Любая помощь была бы принята с благодарностью. Благодарю.