2010-05-29 31 views
0

因此,美國農業部有一些關於食物的一般營養事實的奇怪數據庫,很自然地,我們會偷它在我們的應用程序中使用。但無論如何線的格式是這樣的:確定文本數據庫文件的文件類型的難度

~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

任何幫助將是偉大的!如果它很重要,我們使用Ruby來開放/免費的API來查詢這些數據。

此外,我很難提出這個問題,所以我把它變成了一個社區wiki,所以我們可以全部投入!

回答

1

^看起來是一個字段分隔符,而~是一個字符串分隔符。一般情況下我希望看到,和「這些角色,但非常罕見人物的選擇意味着一個字符串像

Cheese, Bleu 

不會得到所有的字符串解析器迷幻。

+0

這就是我所想的。字符串在每一端被'〜'包圍,但數字不是。 – 2010-05-29 02:17:29

3

這看起來像一個非常標準的CSV(逗號分隔值)文件,除了從,改爲^和引號字符從"~

不幸的是,字段分隔符,我不熟悉使用Ruby建議使用的庫,bu t在Perl中有一大堆標準的CPAN模塊,其中最好的一種允許你配置CSV閱讀器的字段分隔符和引號字符......我希望Ruby也應該有類似的東西 - 如果是的話,你是運氣好的!