<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_new_nodes(fname):
 """ Return an iterator of dicts given a .csv-format file. """


    with open(fname, 'rU') as infile:
        infile = (line for line in infile if not line.startswith('#'))
        reader = list(csv.DictReader(infile))
        rows = (d for d in reader if d['tax_id'])

    # for now, children are provided as a semicolon-delimited list
    # within a cell (yes, yuck). We need to convert thit into a list
    # if present.
    for d in rows:
        if 'children' in d:
            if d['children']:
                d['children'] = [x.strip() for x in d['children'].split(';')]
            else:
                del d['children']
        yield d