scope queryUSZipCode { sS #dataSnippetID = #1400449; static SS queryUSZipCode(S zipCode) { if (l(zipCode) != 5 || !isInteger(zipCode)) null; File csvFile = loadLibrary(dataSnippetID); S key = quote(zipCode); S line = pairB(binarySearchForLineInTextFile(csvFile, s -> cmp(key, dropAfterComma(s)))); print(+line); if (!startsWith(line, key)) null; LS fields = unquoteAll(tok_splitAtComma(firstLineOfFile(csvFile))); LS values = unquoteAll(tok_splitAtComma(line)); ret zipTwoListsToMap(fields, values); } }