weight.jq 674 B

1234567891011121314151617181920212223
  1. #!/usr/bin/jq -Rf
  2. # How to use:
  3. # `scripts/weight.jq usda/WEIGHT.txt`
  4. # That's it.
  5. split("\n")[] # split string into lines
  6. | split("^") # split lines int columns
  7. | { # format array of columns into jsons
  8. "ndb_no": .[0] | ltrimstr("~") | rtrimstr("~"),
  9. "seq": .[1] | tonumber,
  10. "amount": .[2] | tonumber,
  11. "msre_desc": .[3] | ltrimstr("~") | rtrimstr("~"),
  12. "gm_wgt": .[4] | tonumber,
  13. "num_data_pts": (if (.[5] | length) == 0 then null else .[5] | tonumber end),
  14. "std_dev": (
  15. if (.[6] | rtrimstr("\r") | length) == 0 then
  16. null
  17. else
  18. .[6] | tonumber
  19. end
  20. )
  21. }