<div dir="ltr"><div class="gmail_extra"><div><div class="gmail_signature"><div dir="ltr"><div dir="ltr">Just following up with my own (potential) solution:</div><div dir="ltr"><br></div><div>Where list.csv is: </div><div><br></div><div><div>_id,value</div><div>1234,"item.1,item.2,item.3"</div></div><div><br></div><div>and the fix is: </div><div><br></div><div dir="ltr"><div dir="ltr"># 952</div><div dir="ltr">lookup(somefield,list.csv)</div><div dir="ltr">split_field(somefield,",")</div><div dir="ltr"><br></div><div dir="ltr">do list(path:somefield,var:c)</div><div dir="ltr">  marc_add('952',ind1,' ',ind2,' ',o,$.c)</div><div dir="ltr">end</div><div><br></div><div>Seems to do the trick. </div><div><br></div><div>Unfortunately, when trying to create a hashmap where the fix is:</div><div><br></div><div>catmandu convert CSV to Null --fix 'do hashmap(exporter:CSV,join:",");nothing();end' < lookup.csv<br></div><div><br></div><div>and the lookup.csv is:</div><div><br></div><div><div>key,value</div><div>1234,"item.1"</div><div>1234,"item.2"</div><div>1234,"item.3"</div></div><div><br></div><div>I get: </div><div><br></div><div><div>Oops! Syntax error in your fixes...</div><div><br></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">   </span>Expected end of input on line 1 at:</div><div>do hashmap(exporter:CSV,join:",");nothing();end</div><div>^</div></div><div><br></div><div>Opening an issue on Github.</div><div><br></div><div>JL</div><div><br></div></div></div></div></div>
<br><div class="gmail_quote">On Tue, Feb 7, 2017 at 5:55 PM, Jason Loeffler <span dir="ltr"><<a href="mailto:j@minorscience.com" target="_blank">j@minorscience.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>I am trying to figure out how to script a bind that will lookup and iterate over an arbitrary list of matches and append successive MARC datafields for each match. The basic idea is illustrated below, though I presume I need a hashmap to accomplish this? Any ideas?</div><div><br></div><div>Source file:</div><div><div>[</div><div>  {</div><div>    "title": "title1",</div><div>    "somefield": "1234"</div><div>  }</div><div>]</div></div><div><br></div><div>Fix:</div><div><div># 952</div><div>lookup(somefield,list.csv)</div><div>marc_add('952',ind1,' ',ind2,' ',o,$.somefield)</div><div><br></div></div><div>list.csv:</div><div><div>1234,"item.101"</div><div>1234,"item.102"</div><div>1234,"item.103"</div></div><div><br></div><div>Output:</div><div><div>=LDR</div><div>=952  \\$0item.103</div><div><br></div></div><div>However, the desired output is:</div><div><div>=LDR</div><div>=952  \\$oitem.101</div></div><div><div>=952  \\$oitem.102</div></div><div><div>=952  \\$oitem.103</div></div>
</div>
</blockquote></div><br></div></div>