@@ -0,0 +1,1342 @@
+import csv%0Afrom tkinter import filedialog, Tk%0A%0Aroot = Tk()%0Aroot.withdraw()%0A%0Afile_path = 'neon9.csv'%0A%0Adef parse_it(file):%0A    parsed_file = csv.reader(open(file), dialect=%22excel-tab%22)%0A    return parsed_file%0A%0Adef servers_sorted(foo):%0A    servers = %5B%5D%0A    for i in parse_it(foo):%0A        if len(i) == 5 and i%5B4%5D != %22Server%22:%0A            servers.append(i%5B4%5D)%0A        else:%0A            pass%0A    return sorted(set(servers))%0A#print(servers_sorted(file_path))%0A%0Adef get_job_name(foo):%0A    job_name = ''%0A    for i in parse_it(foo):%0A        if len(i) == 1 and i%5B0%5D%5B:4%5D == %22Job:%22:%0A            job_name = i%5B0%5D.split()%5B1%5D%0A    return job_name%0A#print('Job name: %7B%7D'.format(get_job_name(file)))%0A%0A%0Adef return_frames(file_, server):%0A    for _line in parse_it(file_):%0A        try:%0A            if _line%5B4%5D == server:%0A                if _line%5B2%5D == %2200000%22:%0A                    frame = _line%5B2%5D%5B:1%5D%0A                else:%0A                    frame = _line%5B2%5D.lstrip(%220%22)%0A                yield frame%0A            else:%0A                pass%0A        except IndexError:%0A            pass%0A#print(list(return_frames(file_path, 'aston3d')))%0A%0A%0Adef all_jobs(file):%0A    for server in servers_sorted(file):%0A        print(server)%0A        for n in return_frames(file, server):%0A            print(n, end=', ')%0A        print('%5Cn')%0A%0A%0Aif __name__ == '__main__':%0A    all_jobs(file_path)

add basic csv-parser