所以美国农业部有一些关于食物的一般营养成分的奇怪数据库,很自然地我们会偷它用于我们的应用程序。但无论如何,这些行的格式如下:
~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 < / p>
任何帮助都会很棒!如果重要的话,我们正在用Ruby创建一个开放/免费的API来查询这些数据。
此外,我很难提出这个问题,所以我把它变成了一个社区维基,所以我们都可以投入!
答案 0 :(得分:3)
这看起来像一个非常标准的CSV(逗号分隔值)文件,但字段分隔符字符已从,
更改为^
并将字符从"
引用到{{1} }
不幸的是,我不熟悉Ruby推荐使用哪个库,但在Perl中有一大堆标准CPAN模块,其中最好的是允许你配置CSV阅读器的字段分隔符和引号字符......我希望Ruby也应该有类似的东西 - 如果是这样,你很幸运!
答案 1 :(得分:1)
^
似乎是字段分隔符,~
是字符串分隔符。通常情况下,我希望在这些角色中看到,
和“,但选择非常罕见的字符意味着像
Cheese, Bleu
不会使用字符串解析器获得所有的麻烦。