ファイルのタイプのテキストデータベースファイルの決定が難しい
-
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
どんな助けも素晴らしいでしょう!重要な場合は、このデータを照会するためにRubyを使用してオープン/フリーAPIを作成しています。
さらに、私はこの質問を提起するのに苦労しているので、私はそれをコミュニティのwikiにしたので、私たちはすべてピッチできます!
解決
^
フィールドデリミッターのように見えます ~
文字列区切り文字。通常、私は見ることを期待しています ,
そして「それらの役割では、しかし非常に珍しいキャラクターの選択は、文字列が次のことを意味します
Cheese, Bleu
ストリングパーサーですべてのトリッピーを取得することはありません。
他のヒント
これは、フィールドセパレーターの文字が変更されたことを除いて、非常に標準のCSV(コンマ分離値)ファイルのように見えます ,
に ^
からの引用キャラクター "
に ~
残念ながら、どのライブラリを使用するかをお勧めするRubyには精通していませんが、Perlには、CSVリーダーのフィールドセパレーターと引用文字の両方を構成できる標準CPANモジュールのボートロードがあります...ルビーにも似たものがあるはずです - もしそうなら、あなたは幸運です!
所属していません StackOverflow