Dificultad para determinar el tipo de archivo del archivo de base de datos de texto

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

  •  05-10-2019
  •  | 
  •  

Pregunta

Así que el USDA tiene alguna base de datos de información nutricional raro generales acerca de la comida, y así, naturalmente, vamos a robar para su uso en nuestra aplicación. Pero de todos modos el formato de las líneas es como la siguiente:

~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

Con los ~ impar y ^ separar los valores, sino que también carece de una fila de encabezado, pero eso es ok, puede darse cuenta de eso desde el otro cosas en su sitio: http://www.ars.usda.gov/Services/docs.htm?docid=8964

Cualquier ayuda sería grande! Si es importante que estamos haciendo una API abierta / libre con Ruby para consultar estos datos.

Además estoy teniendo un momento difícil plantear esta cuestión por lo que he hecho es un wiki de la comunidad para que todos podamos terreno de juego en!

¿Fue útil?

Solución

^ parece ser un delimitador de campo y ~ un delimitador de serie. Normalmente yo esperaría a ver , y "en esos papeles, pero la elección de los medios personajes muy poco común que una cadena como

Cheese, Bleu

no tendrá todos trippy con el analizador de cadena.

Otros consejos

Esto parece ser una muy estándar CSV (valores separados por comas) archivo, excepto el signo separador se cambió de , a ^ y la cita de carácter " a ~

Por desgracia, no estoy familiarizado con Ruby para recomendar qué biblioteca al uso, pero en Perl hay un bote lleno de módulos CPAN estándar de la mejor de las cuales le permiten configurar tanto separador de campo y carácter de comillas de un lector CSV ... yo esperaría Rubí debe tener algo similar, así - si es así, estás de suerte

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top