Трудно определить тип файла файла Text базы данных

StackOverflow https://stackoverflow.com/questions/2933482

  •  05-10-2019
  •  | 
  •  

Вопрос

Таким образом, у USDA есть какая-то странная база данных фактов общего питания о еде, и, естественно, мы собираемся украсть его для использования в нашем приложении. Но в любом случае формат строк похоже на следующее:

~01001~^~0100~^~Butter, salted~^~BUTTER,WITH SALT~^~~^~~^~Y~^~~^0^~~^6.38^4.27^8.79^3.87
~01002~^~0100~^~Butter, whipped, with salt~^~BUTTER,WHIPPED,WITH SALT~^~~^~~^~Y~^~~^0^~~^6.38^4.27^8.79^3.87
~01003~^~0100~^~Butter oil, anhydrous~^~BUTTER OIL,ANHYDROUS~^~~^~~^~Y~^~~^0^~~^6.38^4.27^8.79^3.87
~01004~^~0100~^~Cheese, blue~^~CHEESE,BLUE~^~~^~~^~Y~^~~^0^~~^6.38^4.27^8.79^3.87

С этими странными ~ а также ^ Разделяя значения, это также не хватает строки заголовка, но вот в порядке, я могу понять это из других вещей на их сайте: http://www.ars.usda.gov/services/docs.htm?docid=8964.

Любая помощь была бы здоровой! Если это важно, мы создаем открытый / бесплатный API с Ruby, чтобы запросить эти данные.

Дополнительно у меня трудное время, позируя этот вопрос, поэтому я сделал это сообществом вики, чтобы мы все сможем встать!

Это было полезно?

Решение

^ кажется, разделитель поля и ~ Струнный разделитель. Обычно я ожидаю увидеть , и «в этих ролях, но выбор очень необычных персонажей означает, что строка, как

Cheese, Bleu

Не получит все триппы со струнным парсером.

Другие советы

Это выглядит как очень стандартный файл CSV (запятая) файл), кроме символа сепаратора поля был изменен с , к ^ и цитата персонажа из " к ~

К сожалению, я не знаком с Ruby, чтобы порекомендовать, какую библиотеку использовать, но в Perl есть бодовая нагрузка стандартных модулей CPAN, лучшее из которых позволяет настроить оба сепаратора полей, так и цитата персонажа CSV ... я ожидаю Ruby должен иметь что-то похожее - если так, тебе повезло!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top